Forum Linux.général Compter le nombre de fichiers transférés par lftp

Posté par  (site web personnel) .
Étiquettes : aucune
1
24
juin
2011

Bonjour à tous,

J'automatise des transferts de fichiers par FTP j'ai besoin de connaitre le nombre de fichiers qui ont été transférés afin de déclencher une action. Voila pour le moment la commande lftp que j'utilise :

LFTP=`lftp -u $USER,$PASSWD -e "lcd $DIRCLT ; mget -E $DIR/* ; exit" $HOST`

Est-ce que vous avez une idée ?
Merci d'avance.

  • # façon simple

    Posté par  . Évalué à 2.

    Vu qu'il s'agit de déclencher des actions, en fonction de ce nombre, il devient pertinent de logguer les actions FTP. Cette solution permet en outre de résoudre ton problème puisqu'il est facile de lire et d'interpréter le fichier log généré.
    Les autres avantages ?
    -traçabilité
    -sécurité
    -compter indépendamment les fichiers reçus/émis valides/invalides
    -évolutivité
    -déclenchement d'actions peut aussi ne pas être immédiat.
    -permet de faire du prévisionnel

    etc...

    • [^] # Re: façon simple

      Posté par  (site web personnel) . Évalué à 1.

      euuuuu logguer, pourquoi pas. Mais lftp renvoie uniquement son code de sortie 0 ou 1 et rien d'autre. Si pour logguer tu parle du côté serveur pas de bol c'est du côté client que je veux créer des actions.

      Passer à autre chose que ftp, pas le choix c'est imposé :(

      Pour le moment j'ai trouvé une autre solution, je transfert les fichiers dans un .tmp/, un coups de ls | wc -l et suivant le cas je déclenche une action et après déplace les fichiers.

      Born to Kill EndUser !

      • [^] # Re: façon simple

        Posté par  . Évalué à 2.

        tu fais un
        lftp .......| tee fichier.log

        ça va pas retourner 0 et 1 mais 100% de l'affichage au cours de la commande ftp.

        • [^] # Re: façon simple

          Posté par  . Évalué à 2.

          pureftpd : pureupload.script, ca déclenche un script a chaque transfert...

          • [^] # Re: façon simple

            Posté par  (site web personnel) . Évalué à 0.

            Quand je dis client c'était côté client ftp, dans ce cas c'est un de mes serveurs qui fait client ftp donc pas d'interface graphique.

            Born to Kill EndUser !

      • [^] # Re: façon simple

        Posté par  . Évalué à 3.

        Je peux éventuellement te proposer Repwatcher qui, entre autres, loggue dans un SGBD l'accès à des fichiers situés dans des dossiers surveillés.

        Ce n'est pas intrusif et ça devrait marcher dans ton cas puisque Repwatcher a été développé à l'origine pour surveiller les téléchargements par SSH.

        Vu que tu as un besoin côté client, tu dis au logiciel le répertoire à surveiller et éventuellement l'application qui t'intéresse. Tu n'auras plus qu'à extraire les informations de la base.

        Si tu veux y jeter un oeil: https://github.com/gbe/repwatcher

        • [^] # Re: façon simple

          Posté par  (site web personnel) . Évalué à 1.

          ton programme me parait intéressant mais trop "lourd" à mettre en place pour mon utilisation juste pour de la surveillance de répertoire, surtout la couche base de donnée.

          Born to Kill EndUser !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.