Torniamo a scrivere sul nostro blog dopo lunghi impegni di lavoro, in questo periodo abbiamo affrontato e superato diverse problematiche e, da oggi e nei giorni a seguire, vorremmo mettere la nostra esperienza a disposizione dei nostri lettori. In questo articolo forniremo alcune nozioni sulla copia e sul download di file da spazio FTP tramite script per sistemi operativi Windows.
Entrare in uno spazio FTP da sistema operativo Windows è di una semplicità estrema, basta infatti digitare il comando FTP dal prompt dei comandi per vederci catapultati nel nostro spazio web come in figura:
Nella tabella (in inglese) possiamo vedere i comandi eseguibili nello spazio FTP sono i seguenti:
FTP commands | |
---|---|
Command | Description |
! |
escape to the shell |
? |
print local help information |
append |
append to a file |
ascii |
set ascii transfer type |
bell |
beep when command completed |
binary |
set binary transfer type |
bye |
terminate ftp session and exit |
cd |
change remote working directory |
close |
terminate ftp session |
debug |
toggle debugging mode |
delete |
delete remote file |
dir |
list contents of remote directory |
disconnect |
terminate ftp session |
get |
receive file |
glob |
toggle metacharacter expansion of local file names |
hash |
toggle printing `#’ for each buffer transferred |
help |
print local help information |
lcd |
change local working directory |
literal |
send arbitrary ftp command |
ls |
nlist contents of remote directory |
mdelete |
delete multiple files |
mdir |
list contents of multiple remote directories |
mget |
get multiple files |
mkdir |
make directory on the remote machine |
mls |
nlist contents of multiple remote directories |
mput |
send multiple files |
open |
connect to remote tftp |
prompt |
force interactive prompting on multiple commands |
put |
send one file |
pwd |
print working directory on remote machine |
quit |
terminate ftp session and exit |
quote |
send arbitrary ftp command |
recv |
receive file |
remotehelp |
get help from remote server |
rename |
rename file |
rmdir |
remove directory on the remote machine |
send |
send one file |
status |
show current status |
trace |
toggle packet tracing |
type |
set file transfer type |
user |
send new user information |
verbose |
toggle verbose mode |
La cosa che più ci può essere utile in questa situazione, non è tanto però, l’utilizzo della shell (che sarebbe comunque richiamabile soltanto in locale), quanto la creazione di uno script che potrebbe automatizzarci il lavoro. Un esempio di script per la copia FTP potrebbe essere il seguente:
MyUserId
MyPassword
cd files/pictures
binary
prompt n
mget *.*
Salvate questo script con il nome script.ftp (la cui funzionalità è quella di copiare tutti i file presenti nella cartella pictures) e, per utilizzarlo, basta lanciare da riga comando la seguente istruzione:
FTP -s:script.ftp ftp.myhost.net
sostituendo i valori di MyUser, MyPassword e MyHost.net con quelli che vi interessano avrete un facile script per l’invio/ricezione dei dati. Attenzione però, essendo le password in chiaro, riteniamo che sia best practice quella di creare “on the fly” il file script e, dopo averlo, eseguito rimuoverlo.