Backup di siti ftp con lftp

Avendo la necessità di eseguire il backup di un sito ftp ho fatto un po di ricerche e ho scoperto che con lftp è possibile eseguire la copia ricorsiva dei dati presenti sul sito prelevando soltanto i file/directory variati dal ultimo backup.

Basterà impartire il comando

lftp -f commandfile

dove commandfile sarà un file contenente i comandi che lftp dovrà eseguire, che potranno essere i seguenti:

open -u user,password sito_ftp/path/da/backuppare
mirror --verbose
quit

Con open indichiamo l’utente e password (separati dalla virgola) utilizzati per collegarsi a sito_ftp dove sarà possibile indicare anche il path iniziale.
Il comando mirror invece permette di lanciare il backup che per default viene eseguito da remoto a locale, ma con l’opzione -R sarà possibile fare anche il contrario. mirror possiede molti parametri di cui rimando alla man page per approfondimenti.
Con quit invece usciremo dalla sessione ftp.

Se tutto va bene una volta eseguito il comando come sopra indicato ci ritroveremo nella directory corrente il mirror del nostro sito ftp.

Aggiornamento del 07/03/2009:

Come potete vedere nei commenti ringrazio Stefano Spinucci per per questa nova indicazine di utilizzo:

in allegato posto una versione del comando che fa il mirror in upload da una directory locale senza usare un file esterno per i comandi, ma contenendo in un’unica riga tutto quello che serve per l’upload

lftp -c ‘open -u username,password ftp://sitoftp.net/;set ftp:ssl-protect-data true;mirror –reverse /directory/sorgente directory_destinazione_sul_server; exit

5 pensieri su “Backup di siti ftp con lftp

  1. Grazie, ottimo, non conoscevo questo comando, ora i miei backup risulteranno più facili.

  2. in allegato posto una versione del comando che fa il mirror in upload da una directory locale senza usare un file esterno per i comandi, ma contenendo in un’unica riga tutto quello che serve per l’upload

    lftp -c ‘open -u username,password ftp://sitoftp.net/;set ftp:ssl-protect-data true;mirror –reverse /directory/sorgente directory_destinazione_sul_server; exit’

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *