Ceci n'est pas un blog

Blog personale di Ivan Agliardi con pagine di informatica, linguaggi, idee…

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!

A proposito di Ivan Agliardi

Ho immaginazione e creatività, ma non sono un artista. Faccio interagire tra loro aziende dando vita a nuove imprese, ma non sono un imprenditore. Mi occupo da oltre 15 anni di server Linux, applicazioni web, database, domini, hosting, housing, sicurezza informatica e sistemi embedded, ma non sono un tecnico. Faccio SEO, SEM, SMM e fornisco contenuti attraverso i miei copyrighter, ma non sono un uomo marketing. Ora ho di nuovo un blog, ma non sono un blogger. Sono solo un umanista e un informatico della prima ora. E mi circondo di gente con le palle :)

4 commenti su “Sincronizzazione mediante `lftp`”

  1. 2e8hd80eion9

    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.

    Reply
  2. Ivan Agliardi

    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!

    Reply
  3. Stefano Spinucci

    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’

    Reply
  4. Ivan Agliardi

    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 😉

    Reply

Lascia un commento

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

Ivan Agliardi

Ivan Agliardi