Bonjour.
Je cherche à faire un script à lancer via crontab, qui téléchargerai les fichiers et dossiers présents sur un serveur ftp.
Ce script tournera sur un nas D'link 320L.
Jusque là rien de compliqué, le souci c'est que je devrai déplacer certains de ces fichiers une fois téléchargés, et que j'aimerai que le script ne me les téléchargent pas a nouveau.
J'ai eu 2 idées, soit prendre les fichiers dont la date est celle de la veille uniquement, et le lancer une fois par jour, soit faire un fichier " liste des fichiers téléchargés" et de comparer chaque fichier ensuite…
Mes compétences sont assez basiques.
L'idéal serait même que, si le fichier/dossier n'est plus sur le ftp, il soit déplacé dans un second dossier en local ( à trier ).
Au pire, et si c'est nécessaire, le script pourra être lancé depuis un raspberry
Merci d'avance pour vos pistes.
# FTP obligatoirement ?
Posté par seb . Évalué à 2.
Rsync semble plus adapté dans ton cas non ?
[^] # Re: FTP obligatoirement ?
Posté par antibill51 . Évalué à 2.
Je n'ai aucun accès ssh au serveur sur lequel sont mes fichiers/dossiers malheureusement..
# Exemple
Posté par antibill51 . Évalué à 1.
Je m'étais servi de ça, mais si je déplace mon fichier il est retéléchargé lors de l'execution suivante.
http://www.crazyws.fr/dev/systeme/synchroniser-votre-seedbox-avec-votre-nas-ou-votre-ordinateur-6NGGE.html
# lftp
Posté par Vroum . Évalué à 1.
Je te conseille de scripter cela avec
lftp
.Exemple de déplacement de fichier après téléchargement d'un fichier donné $FILE:
Si tu veux éviter de faire une première requête de récupération du nom des fichier tu peux tenter de boucler avec la commande
repeat
:Voir aussi dans le man, la commande "surpuissante"
mirror
.À voir ce qui parait le plus simple ensuite.
P.S. Utilise les bookmarks de
lftp
, cela te permet d'éviter les identifiants en clair dans ta commande (le format .netrc est aussi supporté au besoin).[^] # Re: lftp
Posté par antibill51 . Évalué à 1.
Merci.
J'avais effectivement vu l'option mirror, mais elle ne me correspond pas. En effet je ne veux rien supprimer sur le ftp via ce script, mais je veux qu'un fichier téléchargé hier, mais déplacé depuis dans un autre dossier ( manuellement ) ne soit ni re-téléchargé sur le nas, ni supprimé du ftp.
Je ne crois pas que cela corresponde, si?
[^] # Re: lftp
Posté par antibill51 . Évalué à 1.
Je pense avoir trouvé, avec lftp et l'option --newer-than=now-1day.
Je fais quelques tests et je vous confirmerai ça !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.