2009-06-26 5 views

risposta

7

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.

1

Probabilmente stai cercando un programma chiamato "expect" progettato per gestire i processi interattivi.

http://expect.nist.gov/

Se si dispone di "cron", è probabile che già hanno "aspettarsi", così, in questi giorni.

0

Crea i tuoi lavori CRON per chiamare WGET per caricare o scaricare il tuo file tramite FTP!

+0

In realtà, si preferisce utilizzare wput (http://wput.sourceforge.net/) per inserire elementi nel server remoto. – tomzx

2

È 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.

1

Pianificare una chiamata di script da cron.
Nello script,

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