Beh, per effettuare un upload con cron ed ftp, ti consiglio di utilizzare il file .netrc al posto di uno script, perchè è il metodo più utilizzato. Questo file contiene sia i parametri di connessione ai server, sia delle macro con i comandi che devi effettuare.
Questo file deve essere presente nella tua home (con permessi 600): per aggiungere un account, devi mettere le righe seguenti:
codice:
machine server.ftp
login username
password userpassword
Puoi mettere all'interno del file diversi accessi, separati da una riga vuota.
All'interno del file puoi anche definire delle macro. Qua sotto c'è la definizione di una macro tipica:
codice:
macdef uploadfile1
cd /working/directory
bin
lcd /directory/del/file/da/uploadare
put file1
quit
Anche in questo caso, puoi separare all'interno del file .netrc, diverse macro, separate da una riga vuota.
Quindi, se vuoi loggarti sulla macchina server.ftp, ed invocare i comandi della macro specificata prima, basta che digiti il comando
codice:
echo "\$ uploadfile1" | ftp server.ftp
Niente file sh, quindi: basta che metti in cron il comando precedente (al massimo redireziona su /dev/null, per evitare l'output che tanto cron non se ne fa niente).
Per quanto riguarda l'initial directory, sicuro che con il cd non funziona? Metti lo / all'inizio del path?
Daniele