Domanda: Vorrei eseguire ftp dall'interno di uno script di shell. Vorrei anche fornire il nome utente e la password richiesti per il download del file FTP all'interno dello stesso script della shell. Puoi spiegarmi come eseguire questo bagno FTP da uno script di shell?
Risposta: Per scaricare/caricare file utilizzando FTP in modalità batch, è possibile utilizzare lo script FTP utilizzando il documento QUI dalla riga di comando o chiamare FTP da uno script di shell come spiegato di seguito.
Script FTP utilizzando il documento QUI
$ ftp -in URL << SCRIPTEND user USERNAME PASSWORD binary cd PATH mget PATH SCRIPTEND
Nello script ftp sopra:
- ftp:comando ftp
- -i :Disabilita la richiesta interattiva
- -n :Disabilita l'accesso automatico
- user USERNAME PASSWORD :accedi utilizzando il nome utente e la password forniti
- binary :imposta la modalità binaria per il trasferimento di file binari
- cd PATH :cambia directory nella macchina remota
- mget PATH :ottieni il file specificato
- SCRIPTEND :Entrambi i tag rappresentano QUI l'inizio e la fine del documento.
- I documenti HERE vengono utilizzati per fornire input ai comandi, fare riferimento al documento Here per saperne di più.
Script FTP tramite script Shell
Di seguito è riportato uno script di shell di esempio che scarica un file tar dal server FTP.
$ cat download.sh ftp -in mirrors.issp.co.th << SCRIPTEND user anonymous [email protected] binary cd cpan/authors/id/P/PM/PMQS/ mget Compress-Raw-Bzip2-2.027.tar.gz SCRIPTEND
Esegui questo script di shell per scaricare i file dall'ftp.
$ sh download.sh $ ls download.sh Compress-Raw-Bzip2-2.027.tar.gz
Per ulteriori comandi FTP, fare riferimento al nostro precedente articolo Guida per principianti FTP e SFTP con 10 esempi