IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Vérification de sauvegarde FTP sans utiliser la commande LS


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut Vérification de sauvegarde FTP sans utiliser la commande LS
    Bonjour

    Par recherche récursive je scrute tout le répertoire d'une carte SD et je souhaite vérifier que tous ces fichiers sont bien présents (et de la bonne taille) sur un serveur FTP, télécharger le fichier sur le FTP si nécessaire.
    Mon soucis est que je suis sur un microcontrôleur (cortexM4) qui a donc des ressources limitées (je me vois mal mettre en RAM la liste complète des fichiers présents sur le FTP pour ensuite scrupter la liste pour chaque fichier de ma carte SD.
    J'ai codé une solution que je pensais économe en ressource à savoir tenter de faire un openfile et en cas d'erreur faire le transfert du fichier, mais la réussite de l'open file ne me dit pas si le fichier est de la bonne taille !

    Je ne peux réserver que quelques ko de RAM pour faire ce job et je peux avoir sur le FTP des dizaines de milliers de fichiers. Je peux avoir tellement de fichiers sur le FTP qu'il apparait d’ailleurs peu judicieux de scruter quoi que ce soit sur le FTP !

    Du coup je ne vois pas comment procéder ; Connaissez vous une alternative à l'utilisation de la commande LS pour vérifier la présence (et connaitre la taille) d'un fichier sur un FTP ?

    Merci par avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 151
    Billets dans le blog
    4
    Par défaut
    Salut,

    pourquoi ne pas utiliser ls ?
    pourquoi ne pas te connecter autrement qu'en ftp pour vérifier ça ?
    à priori il existe une fonction ftp SIZE.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Bonjour

    Merci pour la réponse

    Ls il y a 2 raisons
    >la première est que je n'arrive pas à recevoir la réponse du serveur avec ; est ce parce que je suis en mode passif ???
    > la seconde est qu'avec ls il me faudrait stocker toute la reponse et rechercher dedans mes fichiers. or je peux avori plusieurs dizaines de milliers de fichiers sur le FTP et je n'ai que 1ko de RAM pour faire ça.


    Se connecter autrement qu'en FTP pour vérifier ca ??? comment peut on se connecter à un serveur FTP autrement qu'en FTP ? je ne comprends pas désolé

    Pour SIZE, comme ls je n'arrive pas à avoir une réponse. En plus j'ai lu un truc qui disait que SIZE n’était pas supporté par tous les serveurs (norme FTP ++)

    PS : je fais des essais sur un FTP synology en local ( et TLS) et avec un FTP non TLS en ligne chez OVH.

  4. #4
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Je viens d'avoir une idée, merci de me dire si c'est délirant

    Pour transférer mes fichiers sur le FTP je passe par une extension provisoire : le fichier NomFichier.csv est transféré en tant que NomFichier.temp et une fois le fichier bien transféré je renomme le NomFichier.tmp en NomFichier.csv

    ainsi pour savoir si les fichiers de ma carte SD ont bien été transférés sur le serveur il me faudrait faire un openFile de NomFichier.csv et NomFichier.temp. (erreur sur le openfile = fichier absent)
    Si le .temp existe alors le fichier a été transféré mais c'est à refaire
    Si le .temps n'existe pas mais que le .csv est présent alors ce fichier est déjà transféré

    Ça fonctionnerait ça ? ou ce serait 4684684684864848468x moins fiable que de vérifier la taille ?

    Merci

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 151
    Billets dans le blog
    4
    Par défaut
    Ton dernier système tu vérifies queue dalle. Si ton fichier est ancien et tu dois uploader un nouveau, tu vas rien en faire parce qu'il existe déjà et n'a pas de .temp correspondant ?
    Si tu veux juste uploader un fichier une fois, à la limite...
    Ensuite, ls peut recevoir des paramètres, y compris le nom d'un fichier. http://linuxcommand.org/lc3_man_pages/ls1.html

    Se connecter autrement qu'en FTP pour vérifier ca ??? comment peut on se connecter à un serveur FTP autrement qu'en FTP ? je ne comprends pas désolé
    Ton truc c'est un serveur, une machine, que tu t'y connectes via un client FTP, putty ou n'importe quoi d'autre, ça dépend uniquement de ce que tu autorises dessus et comment tu le configures.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Mes fichiers sont des sortes de log pour une plage de temps donnée. Je cherche à être certain que les données partent bien sur le ftp mais les fichiers envoyés seront JAMAIS modifiés ou à re-envoyer.

    Il peut y avoir beaucoup de fichiers coté serveur du coup une liste serait monstrueuse et je n'ai pas de ram pour ça. (Utiliser la SD serait lent et source d'autres problemes). Je ne vois pas quoi en faire de le ou NLIST.

    Après n^20 échecs je suis pommé avec les commandes ftp. Je trouve pleins de docs qui présentent comme ce lien les commandes et leurs options mais je ne trouve pas un exemple de sequence et de syntaxe réelle. Moi avec SIZE (ou ls) le serveur me répond un truc gentil (en gros il a reçu la commande) mais je n'ai pas de taille ou de liste. J'ai essayé en faisant un openfile puis en appelant SIZE ou LIST sans paramètres. J'ai aussi essayé de juste me connecter au ftp puis d'envoyer une commande SIZE,LIST,NLIST ou ls en précisant en paramètre le chemin vers le fichier pour SIZE et LIST... rien.

    Déjà NLIST et ls c'est quoi la différence ?

    Merci

  7. #7
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Ton truc c'est un serveur, une machine, que tu t'y connectes via un client FTP, putty ou n'importe quoi d'autre, ça dépend uniquement de ce que tu autorises dessus et comment tu le configures.
    J'ai oublié de répondre à ce point. en fait je dois pouvoir connecter des serveurs ftp, n'importes lesquels et en tous cas que via FTP. Je dois en plus le faire ne mode passif. Outre le fait que je dois pouvoir connecter tout serveur ftp, je n'ai pas la main pour paramétrer quoi que ce soit sur le serveur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 18/11/2016, 14h19
  2. [Débutant] Commander une application sans utiliser les métodes sendkeys
    Par r.morel dans le forum VB.NET
    Réponses: 6
    Dernier message: 10/11/2014, 12h43
  3. Problème sauvegarde ftp commandée par code VBA
    Par tdiscus dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/03/2013, 09h13
  4. Réponses: 6
    Dernier message: 24/09/2009, 17h44
  5. [MS-DOS] Comment utiliser la commande ftp ?
    Par Are-no dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 09/02/2007, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo