Jetez un oeil à ncftp
, il est livré avec un utilitaire (ncftpput
) qui peut être scripté à cet effet :
$ ncftpput -R ftp.server.com /remote/path /backup
Le -R
flag signifie mode récursif. Vous pouvez avoir vos informations d'authentification dans un fichier séparé. Voir la page de manuel (ncftpput(1)
) pour plus de détails.
Une autre alternative pourrait être d'utiliser CurlFtpFS, un pilote de système de fichiers FUSE qui expose un hôte FTP en tant que répertoire monté (vous permettant d'accéder à ces fichiers avec n'importe quel outil régulier, y compris cp
). Je ne sais pas si cela fonctionne bien, mais d'après une recherche rapide sur Google, cela semble très prometteur. CurlFtpFS remonte plus loin que FUSE en fait, il devrait donc être stable.
Pour l'utiliser, installez le package approprié pour votre distribution (par exemple, Arch et Debian utilisent le nom de package curlftpfs
), chargez le fuse
et sudo curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
, en remplaçant les valeurs appropriées par le nom du serveur, le point de montage, le nom d'utilisateur et le mot de passe.
Il y a plus de détails sur la page liée, mais cela devrait vous aider à démarrer.
Vous pouvez utiliser lftp
lftp ftp://user:[email protected] -e "mirror -e -R /local/folder /remote/folder ; quit"