upload in FTP tramite comandino

upload ftp da riga di comando

Ftp viene spesso usato per aggirnare i files nel propio hosting, fileZilla è un buon client grafico, ed è un softeare libero (licenza gpl.2), tuttavia aggiornare spesso i file con FTP con un client grafico dopo un po diventa un attività tediosa, la possiamo automatizzare?
per fare questo serve poter fare upload tramite command line, la buona notizia è che si puo fare in vari modi

 

Nota assumo questi esempi che il nome del server ftp sia:mioftp.com ed abbia nome utente:utnt e che la password sia:mltpcscr

1. Tramite cUrl (funziona sia in linux/mac/win)
siamo nella cartella contentente il file prova.txt da uplodare sul server ftp

curl -T prova.txt mioftp.com --user utnt:mltpcscr

2. Tramite il comando ftp (funziona anche su windows)
ftp permette di scrivere i comandi del protocollo ftp
lcd è il cambio di directory, perchè dopo esserci connessi, abbiamo una directory corrente sul server ftp, ed una dirctory Locale.
in questo esempio si connette, si autentica, mostra i files, cambia cartella locale, ed upload prova.txt nella root remota.

ftp -n <<EOF
open mioftp.com
user utnt mltpcscr
ls
lcd ./
put prova.txt
bye

segnalo che il comando put, può essere usato anche per uplodare più files, come da terminale, possiamo individuarli tramite *, per esempio per uplodare tutti i txt nella directory corrente:

put *.txt

mget ha una sintassi analoga a put, ma server per scaricare.
Per scaricare tutti i files con estensione txt

mget *.txt

3. il mio preferito è ncftpput (perchè più comodo) fa parte del pacchetto debian ncftp e permette di uploadare cartelle includendo anche le subdirectory!
supponiamo di essere dentro la cartella che vogliamo copiare su mioftp.com/ includendo le sottodirectory.

ncftpput -R -z -u utnt -p mltpcscr mioftp.com / ./
Questo è il modo che preferisco!