J'écris un script shell Linux pour copier un répertoire local sur un serveur distant (en supprimant tous les fichiers existants).
Serveur local: ftp
et les lftp
commandes sont disponibles, aucun ncftp
ou aucun outil graphique.
Serveur distant: accessible uniquement via FTP. Pas de rsync ni SSH ni FXP.
Je pense à répertorier les fichiers locaux et distants pour générer un script lftp puis l'exécuter. Y a-t-il une meilleure façon?
Remarque: le téléchargement de fichiers modifiés uniquement serait un plus, mais pas obligatoire.
wput
(un ftp-uploader de type wget):wput dir/ ftp://user:pass@host/dir
Réponses:
lftp devrait pouvoir le faire en une seule étape, en particulier avec
lftp mirror
:EDIT: la syntaxe de la commande lftp prête à confusion, l'invocation d'origine que j'ai publiée ne fonctionne pas. Essayez-le comme ceci:
notez les guillemets autour des arguments du
-e
commutateur.la source
Basée sur l'idée de Phil d'utiliser le mode miroir de lftp, cette commande fait l'affaire:
Un inconvénient est que le serveur local doit avoir un serveur FTP en cours d'exécution.
la source
Cela a fonctionné pour moi, de nombreuses autres tentatives ont échoué. Une fois dans lftp, plus d'informations disponibles via:
la source
mirror -R
ici.Enfin obtenu la réponse !!! Créer un script shell ftpmirror.sh
Si le package lftp n'est pas installé, il l'a installé en utilisant yum.
la source