È possibile utilizzare CRON per caricare un file tramite FTP? Se sì, come posso chiamare FTP per eseguire un caricamento?cron jobs per caricare un file tramite FTP
risposta
Supponendo un-come UNIX sistema operativo si potrebbe configurare un job di cron che indicò uno shell script come il seguente:
#!/bin/sh
cd [source directory]
ftp -n [destination host]<<END
user [user] [password]
put [source file]
quit
END
A seconda delle ftp default del cliente e il tipo di file di origine potrebbe essere necessario specificare binary
prima dello put
.
Probabilmente stai cercando un programma chiamato "expect" progettato per gestire i processi interattivi.
Se si dispone di "cron", è probabile che già hanno "aspettarsi", così, in questi giorni.
Crea i tuoi lavori CRON per chiamare WGET per caricare o scaricare il tuo file tramite FTP!
È possibile utilizzare ncftp - hanno un pratici strumenti chiamati "ncftpput"
E 'più facile quindi utilizzando aspettarsi - si tratta solo di un singolo comando con codice di ritorno utile.
Pianificare una chiamata di script da cron
.
Nello script,
- Usa Public Key Authentication per aprire una comunicazione Secure FTP con il server
- Eseguire un file batch di
PUT
s al server (c'è un'opzione-b
insftp
)
Per questo,
- sarà necessario impostare il p autenticazione con chiave pubblica tra il server e il client, macchina.
- Avrete bisogno di un client
sftp
sul computer client (ci sono client per tutte le piattaforme - PuTTY, Winscp.net, le varianti unix di solito hanno già installato questo). - infine, provare il PUT manualmente con l'autenticazione a chiave pubblica e annotare i comandi - si possono scrivere in al file batch per l'automazione
Alcune altre note.
expect
è un overkill per questo requisito.- Più sopra, qualsiasi schema che richiede la password da script è male
ncftp
è buono per una sessione interattiva (non come l'automazione)- non so se
wput
permette l'autenticazione a chiave pubblica (probabilmente non), nel qual caso non è buono per tale automazione o
In realtà, si preferisce utilizzare wput (http://wput.sourceforge.net/) per inserire elementi nel server remoto. – tomzx