Per un utente di qualsiasi sistema operativo è importante poter contare sulla possibilità di inviare files in remoto su un proprio server. Non sto parlando dei vari servizi CLOUD gratuiti o a pagamento, ma di effettuare trasferimenti ftp automatici di uno o più files automaticamente, ad intervalli di tempo regolari o all’occorrenza di un evento, su un proprio spazio FTP. Vediamo come poterlo fare con un semplice programmino con il nostro Ubuntu Linux.

L’utilizzo di questo metodo è consigliato ad utenti che hanno familiarità con i comandi FTP da terminale.

Prima di tutto dobsudo apt install lftpbiamo installare un client FTP che ci permetta di leggere, da un file esterno, l’elenco dei comandi da eseguire. Il normale software installato di default non ci offre questa opportunità.

Aprire una finestra di terminale e digitare il seguente comando per installare ‘lftp’:

sudo apt install lftp

a questo punto non ci resta altro che creare un file di testo, con gedit o con qualunque altro editor ci piaccia di più, contenente i comandi da impartire a lftp.

Ad esempio creiamo il file ftp.cmd per l’invio di un file su un server remoto:

open indirizzo_server_ftp
user nomeutente password
cd nome_directory_remota
lcd nome_directory_locale
put nome_file
quit

In pratica si apre (open) un collegamento con il server FTP remoto, ci identifichiamo con nomeutente  e  password, selezioniamo la directory remota (cd) e la directory locale (lcd) ed inviamo il file (put). Al termine diciamo al client di chiudere la connessione con quit.

Per eseguire le operazioni basterà digitare:

lftp -f ftp.cmd

Questo è solo un semplice esempio di quello che può fare per noi lftp. Ad esempio con il comando mput è possibile inviare più files contemporaneamente usando il carattere jolly * (asterisco): mput *.jpg, ad esempio, invierà tutte le immagini jpg presenti nella cartella locale al server remoto.

Tutto questo può essere automatizzato con un evento gestito da cron oppure invocandolo da linea di comando come descritto precedentemente.

Molti altri comandi sono disponibili con questo client ftp da linea di comando, consiglio quindi di dare un occhio alla pagina di manuale disponibile digitando il comando

man lftp

oppure leggere la documentazione on-line.

Nel caso in cui si riscontrassero errori di autenticazione e di certificati si consiglia di inserire la seguente linea nel file /etc/lftp.conf:

set ssl:verify-certificate no

Per quale motivo mi è venuta voglia di usare questo sistema?

Per lavoro mi capita spesso di dover aggiornare alcuni files o archivi presenti sul server con cadenze regolari e, ultimamente, mi è venuto il pallino di inviare sul mio server un file contenente l’IP pubblico al quale sono connessi i miei PC.  Così ho dovuto ingegnarmi per risolvere il problema nel modo più semplice possibile.

E voi… per quale motivo utilizzereste la posisbilità di trasferire files con lftp?