17/08/2010

lftp

Uno dei tool che mi ha molto aiutato durante la recente migrazione al nuovo provider è stato lftp.

Apparentemente si tratta dell’ennesimo client ftp, niente di nuovo sotto al sole quindi…
In realtà lftp nasconde una serie di features che non rappresentano certo una novità o non rivoluzionano certo il protocollo, ma che risolvono alcuni piccoli e grandi problemi che possono presentarsi durante un trasferimento ftp massivo.

Sappiamo tutti infatti che con una GET ftp è possibile scaricare una intera directory e tutto il suo contenuto, mentre con un banale PUT possiamo uplodare in remoto una directory e l’intero contenuto.
Ma quante volte vi è capitato che questa operazione filasse liscia con una grande quantità di file e directory?
A me francamente davvero poche, capita la classica disconnessione e a quel punto occorre la sfera di cristallo per sapere a che punto occorre riprendere il download o l’upload :(

Con lftp il problema è risolto alla radice utilizzando l’opzione “mirror”, in questo modo sarà lftp a spazzolarsi la directory di origine e quella di destinazione per allineare perfettamente il contenuto, trasferendo i file mancanti o differenti dall’originale, insomma quasi una sorta di rsync via ftp.
Questa ad esempio è la sintassi che ho utilizzato per scaricare completamente il sito dal vecchio provider:
lftp -u username,password -e "mirror --delete --only-newer --verbose path/to/source_directory path/to/target_directory" ftpsite

Mentre invece per uplodare il sito sul server ftp del nuovo provider ho dovuto semplicemente aggiungere l’opzione “reverse”:
lftp -u username,password -e "mirror --reverse --delete --only-newer --verbose path/to/source_directory path/to/target_directory" ftpsite

Altra funzione molto comoda è quella che permette di effettuare il chmod ricorsivo, ovvero un cambio di permessi su una directory applicato anche a tutti i file e directory in essa inclusa.
Anche questa può sembrare una banalità, ma utilizzando uno dei tanti sistemi di content management php capita non di rado di effettuare una operazione simile, e spazzolarsi decine e decine (per non dire centinaia) di file e directory non è una cosa ne piacevole ne stimolante.

Fatene buon uso ;)

Lascia un commento

NB: I commenti sono moderati, questo potrebbe rallentare la pubblicazione del tuo commento.