Dai un'occhiata a ncftp
, viene fornito con un'utilità (ncftpput
) che può essere scriptato per questo scopo:
$ ncftpput -R ftp.server.com /remote/path /backup
Il -R
flag significa modalità ricorsiva. Puoi avere i tuoi dettagli di autenticazione in un file separato. Vedi la manpage (ncftpput(1)
) per i dettagli.
Un'altra alternativa potrebbe essere l'utilizzo di CurlFtpFS, un driver del file system FUSE che espone un host FTP come una directory montata (consentendo di accedere a quei file con qualsiasi strumento regolare, incluso cp
). Non so quanto funzioni bene, ma da una rapida ricerca su Google sembra molto promettente. CurlFtpFS risale più indietro rispetto a FUSE in realtà, quindi dovrebbe essere stabile.
Per usarlo, installa il pacchetto appropriato per la tua distribuzione (ad esempio, Arch e Debian usano il nome del pacchetto curlftpfs
), caricare il fuse
modulo e sudo curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
, sostituendo i valori appropriati per nome server, punto di montaggio, nome utente e password.
Ci sono ulteriori dettagli nella pagina collegata, ma questo dovrebbe aiutarti a iniziare.
Potresti usare lftp
lftp ftp://user:[email protected] -e "mirror -e -R /local/folder /remote/folder ; quit"