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 kuroineko . É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 Philippe M (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 kuroineko . É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 maxix . Évalué à 2.
pureftpd : pureupload.script, ca déclenche un script a chaque transfert...
[^] # Re: façon simple
Posté par Philippe M (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 dest . É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 Philippe M (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.