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!







