Copiare file su un server FTP tramite uno script bash
Cominciamo a dire che il protocollo FTP fa transitare i dati in chiaro quindi ne è sconsigliato l’uso per operazioni con dati sensibili nel cui caso dove possibile è sempre meglio utilizzare SFTP, SCP o SSH.
Possiamo procedere con due tipo di script, il primo usa direttamente i comandi FTP
[bash]
# Configurazione
HOST="mio-host-o-ip"
USER="nome-utente"
PASS="password"
PATH_RMT="/cartella/remota"
PATH_LCL="/cartella/locale"
FILE="nome-del-file-da-trasferire"
# Rendo attiva la cartella con il file da copiare
cd $PATH_LCL
# Connessione al server FTP e trasferimento file
ftp -n -i $HOST <<EOF
user $USER $PASS
binary
cd $PATH_RMT
mput $FILE
quit
EOF
[/bash]
Il secondo utilizza l’interfaccia curl ( se non è presente serve installarla )
[bash]
# Configurazione
HOST="mio-host-o-ip"
USER="nome-utente"
PASS="password"
PATH_RMT="cartella/remota"
FILE="/cartella/locale/nome-del-file-da-trasferire"
# Trasferimento
curl -T $FILE -u $USER:$PASS $HOST/$PATH_RMT
[/bash]
Per altri chiarimenti rimando alla documentazione ufficiale dei vari comandi o al thread da cui ho preso le informazioni.
1 2 3 4 |
user $USERNAME $PASSWORD binary mput $FILE quit |