Otázka: Chtěl bych spustit ftp ze skriptu shellu. Chtěl bych také poskytnout uživatelské jméno a heslo požadované pro stahování souboru FTP v samotném skriptu shellu. Můžete mi vysvětlit, jak provést tento lázeňský ftp ze skriptu shellu?
Odpověď: Pro stahování / odesílání souborů pomocí ftp v dávkovém režimu můžete buď použít FTP skriptování pomocí dokumentu HERE z příkazového řádku, nebo volat FTP ze skriptu shellu, jak je vysvětleno níže.
FTP skriptování pomocí dokumentu HERE
$ ftp -in URL << SCRIPTEND user USERNAME PASSWORD binary cd PATH mget PATH SCRIPTEND
Ve výše uvedeném skriptování ftp:
- ftp :příkaz ftp
- -i :Zakáže interaktivní výzvy
- -n :Zakázat automatické přihlášení
- user USERNAME PASSWORD :přihlaste se pomocí dodaného uživatelského jména a hesla
- binární :Nastavení binárního režimu pro přenos binárních souborů
- cd PATH :změna adresáře ve vzdáleném počítači
- mget PATH :získání zadaného souboru
- SCRIPTEND :Oba tagy představují začátek a konec dokumentu HERE.
- Dokumenty ZDE se používají k zadávání vstupů pro příkazy, další informace naleznete v dokumentu Zde.
FTP skriptování pomocí Shell Script
Následuje ukázkový skript shellu, který stáhne soubor tar z FTP serveru.
$ 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
Spusťte tento skript shellu ke stažení souborů z ftp.
$ sh download.sh $ ls download.sh Compress-Raw-Bzip2-2.027.tar.gz
Další příkazy FTP naleznete v našem dřívějším článku Průvodce pro začátečníky FTP a SFTP s 10 příklady
Jak odesílat oznámení na ploše na Ubuntu pomocí notify-send
5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí