Sincronizzazione mediante `lftp`

Questa è stata una settimana molto, molto dura… ma non posso certo permettere che si concluda senza avere messo online almeno una piccola, miserabile, insignificante tip! Quindi, per fare le cose al volo, vi dico come effettuo la sincronizzazione di un sito Internet che ho elaborato in locale con la copia che è pubblicata nella directory di un certo spazio FTP.

Premetto che questo non è il modo in cui lavoro normalmente: da buon figlio degli anni ’70 io modifico il codice direttamente online, non in produzione, ma online (bash). Questa settimana mi è capitato però di dover mettere mano al sito Internet di un cliente che ha messo a mia disposizione solo ed esclusivamente il suo account FTP. Quindi ho cominciato a sviluppare una copia locale del suo sito internet e tengo sincronizzata la versione online con un solo, semplice, meraviglioso comando:

lftp -u 'username,password' ftp.mydomain.com -e "set ftp:ssl-protect-data true;mirror --reverse /home/ivan/test test; exit;"

In altre parole:

  • username: il nome utente dell’account FTP
  • password: la password associata al nome utente dell’account FTP
  • ftp.mydomain.com: la host dell’account FTP
  • /home/ivan/test: la cartella locale (senza slash finale)
  • test: la cartella remota (ovvero quella dove si trova pubblicato il sito Internet)

Da notare l’opzione “set ftp:ssl-protect-data true” che protegge l’autenticazione FTP mediante ssl e l’opzione “mirror –reverse” che permette di sincronizzare in upload anziché in download.

Inutile dire che con lo stesso comando si può mantenere un backup remoto di una directory locale, anche se per cose di questo tipo è consigliabile l’utilizzo di `rsync` che fa tutto attraverso una connessione `ssh`.

Niente di più, niente di meno. Buon week end!

Condivido
4 Commenti
  • 2e8hd80eion9
    Maggio 12, 2008

    Sono arrivato per caso sulle pagine del tuo blog più o meno un mese fa. Alcuni dei tuoi post denotano una conoscenza approfondita di Debian GNU/Linux. Ti posso sottoporre i problemi di cui soffre la nostra infrastruttura ed avere un preventivo per la loro risoluzione? Contattami. Ciao.

  • Ivan Agliardi
    Maggio 12, 2008

    Per favore, compila il form che trovi nella pagina “Contattami”. Per quanto riguarda l’analisi e la risoluzione dei problemi a cui fai riferimento: nessun problema, è il mio lavoro 😉

    Buona giornata!

  • Stefano Spinucci
    Marzo 7, 2009

    ho provato il comando indicato in questo post e non ha funzionato.

    ecco la versione con la quale sono riuscito a fare 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’

  • Ivan Agliardi
    Marzo 9, 2009

    Grazie per la precisazione Stefano! Non so cosa non vada nel comando che ho riportato sopra, ma forse si tratta solo di un errore di digitazione: vedo infatti che l’argomento di -u si apre con un apice semplice e si chiude – orrore! – con un apostrofo…

    …lo correggo subito 😉

Leave a comment