Lug 15

FTP: automatizzare la connessione

Spread the love

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).

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/

Lascia un commento

Your email address will not be published.