FTP avec accusé de reception

Bonjour,

La question peut paraître très stupide, néanmoins je la pose tout de même étant données le mode de transfère (TCP) du protocole FTP (source wikipedia :wink: )

Le but est de transféré des fichiers très facilement (c’est vraiment pour du user normale) avec un accusé de réception, donc si des idées il y a ?! :stuck_out_tongue:

Merci d’avance

Pour qui l’accusé de réception? pour le “client” ou pour toi? …
Si c’est pour toi, au pire tu peux peut-être utiliser un script qui “surveille” les log de ton serveur ftp et qui t’envoie un mail ou un message lorsque le fichier est télécharger (début? fin? … ça aussi ce n’est pas la même chose… :wink: )…

Sinon tu as toujours “la poste”… une clé usb, une lettre recommandée avec accusé de réception… et hop!!! :005 :mrgreen: :005
Oui bon… ça va… je connais le chemin… :arrow_right: []… :laughing:

:006

C’est même faisable sans avoir accès aux logs du FTP, en surveillant le contenu du FTP à distance :

$ echo ls | lftp ftp://ftp.fr.debian.org
drwxr-xr-x    8 1000     1000          424 Nov 20 21:13 debian
drwxr-xr-x    8 1000     1000          384 Oct 28 16:14 debian-amd64
drwxrwsr-x    6 1000     1000          200 Oct 26 06:40 debian-backports
drwxr-xr-x    6 1000     1000          232 Nov 20 04:00 debian-non-US
drwxr-xr-x    6 1000     1000          176 May 13  2008 debian-security
drwxr-sr-x    5 1000     1000          216 Nov 17 10:36 debian-volatile
drwxr-xr-x    2 1000     1000           48 Nov 20 23:01 tmp

(tu peux aussi utiliser ncftpls, fourni avec ncftp)

Tu peux rediriger le résultat vers un fichier. Tu fais ça à intervalle régulier (crontab, watch ou at) suivi d’un diff pour comparer les fichiers.
Il ne te reste plus qu’à choisir comment tu veux être averti (mail, xmessage, mplayer,…).

Héhé… pas mal du tout… (mais ça ne marche que pour un “dépot” de la part du “client”… :wink: )

:006

Si la machine qui surveille est la même que celle qui fait le transfert, tu peux utiliser le même principe pour un « get » :

if echo "get fichier" | lftp <serveur_ftp> ; then
   xmessage "Transfert réussi"
else
   xmessage "Transfert échoué"
fi

C’est même plus simple en fait…

EDIT : si plusieurs commandes, tu peux utiliser lftp -f ou la syntaxe « Here Document » :

lftp <serveur> <<EOF 2>/tmp/ftp_fail-$$
put fichier1
put fichier2
get fichier3
mirror dossier1 dossier2
EOF
if [ $? -eq 0 ]
   echo "OK" | mail -s "transfert réussi" foo@example.org
else
   mail -s "échec du transfert" foo@example.org < /tmp/ftp_fail-$$
fi
rm -f /tmp/ftp_fail-$$

[quote=“Num’s”]Pour qui l’accusé de réception? pour le “client” ou pour toi? …
Si c’est pour toi, au pire tu peux peut-être utiliser un script qui “surveille” les log de ton serveur ftp et qui t’envoie un mail ou un message lorsque le fichier est télécharger (début? fin? … ça aussi ce n’est pas la même chose… :wink: )…

Sinon tu as toujours “la poste”… une clé usb, une lettre recommandée avec accusé de réception… et hop!!! :005 :mrgreen: :005
Oui bon… ça va… je connais le chemin… :arrow_right: []… :laughing:

:006[/quote]

Et je n’avais même pas pensé au log…

Sinon l’idée de la poste est effectivement sympa, ça non plus je n’y avais pas pensé :116

Bon, l’idée du projet à abandonné. Pour ma par j’avais plus pensé à du sftp chrooté qui été limite plus simple a mettre en place…

PS : Désolé de répondre si tard :blush: