Ho dovuto automatizzare il programma ftp da linea di comando perché inserisca da solo utente e password.
Avevo bisogno di imitare quello che si fa se si lancia i comando ftp dal browser:
ftp://username:password@myhost.com
Da linea di comando Linux/Unix non funziona così. Un modo per fare una cosa simile è usare il file .netrc che è un file da creare nella directory $HOME dell’utente (plausibilimente /home/utente).
Occorre anche che il file .netrc abbia permessi 600 (ottale) ossia -rw------- (solo il proprietario può leggerlo e scriverci).
Sommario
Cosa scriviamo nel file .netrc?
Un esempio può essere questo:
machine www.myhost.com login username password myp3d <blank> <blank>
Dopodiché si danno i permessi corretti
$ chmod 600 .netrc
Come utilizziamo il comando?
Da ultimo proviamo il comando; si invoca solamente il comando seguito dal nome host che a questo punto è solo un’etichetta (cioè il nome host che segue il comando ftp è solo una chiave per selezionare il blocco di righe corripsondente nel file .netrc!):
utente@jsbach:~$ ftp www.myhost.com Connected to services.myhost.net. 220 ProFTPD 1.3.1 Server (FTP Server ready.) [64.46.178.186] 331 Password required for username 230 User username logged in Remote system type is UNIX. Using binary mode to transfer files. ftp>
Fonti: tra man pages e vari siti che ho consultato, il più completo è questo: http://www.walkernews.net/2007/05/08/auto-file-transfer-via-ftp-batch-scripts/
Commenti recenti