PDA

Visualizza la versione completa : problema (assurdo) utilizzando il comando ftp in uno script tramite heredoc


daniele_dll
17-03-2005, 20:47
ok ... il titolo kilometrico :stordita:

in pratica ho un pezzo di uno script che fa storie ...



# Uploada tutto via ftp

ftp -n ${HOST} << END_SCRIPT
user ${USER} ${PASS}
binary
put ${TMPFILE} ${FILE}
quit
END_SCRIPT



premetto che le variabili sono tutte settate ...

in pratica succede questo ... se da dentro lo script eseguo questo codice dice ...


ftp: connect: No route to host

mentre se il codice, pari pari, lo eseguo in console ... va TUTTO

(ovviamente ho impostato le variabili nella riga del comando)

ho fatto queste prove:
- lanciare route per vedere se la tabella di routing - OK
- lanciare ifconfig per vedere se l'eth0 - OK
- lanciare wget per far scaricare la index di google per vedere se lui lo prendeva - OK
- lanciare wget sull'host, dato che ci sta pure un webserver su, per vedere se andava - OK
- lanciare un ping sull'host - FALLITO

il ping, se lo lancio a mano, va ...

di tutte le prove mi fallito il ping ... inoltre l'errore che da assurdo ... xche non dice irraggiungibile o altro ... dice che non sa dove inviare la richiesta per risolverla, come se l'entry DEFAULT nella tabella di routing, per lui, non esiste :dh:

(vi ripeto ... ho fatto tutte le stesse identiche prove a mano)

non mi rimane che lanciare lo script su un altro server per vedere che fa (e se funziona picchio chi ha installato il server ... assurdo comunque)

qualche idea???

Ilmalcom
18-03-2005, 01:03
Non so se puoi fare una cosa del genere. Mi spiego: quando lanci ftp inizi ad utilizzare comandi di ftp, non della bash, non so se puoi farli eseguire allo script stesso :bh:

daniele_dll
18-03-2005, 10:52
Originariamente inviato da Ilmalcom
Non so se puoi fare una cosa del genere. Mi spiego: quando lanci ftp inizi ad utilizzare comandi di ftp, non della bash, non so se puoi farli eseguire allo script stesso :bh:

il problema che se faccio l'heredoc via console ... va :dh:

il comando ftp parte ... e va tutto ... solo che mi dice no route to host come se non trovasse dove inviare pacchetti :dh:

cacao74
18-03-2005, 12:01
Io ho provato un here document su script come hai indicato nel primo post e non ho avuto problemi di sorta.


[sergio@winnie ~/test/ftp_site]$ ls
script.sh
[sergio@winnie ~/test/ftp_site]$ cat script.sh
ftp -n ${1} << END_SCRIPT
user ${2} ${3}
binary
ls
get index.html
END_SCRIPT
[sergio@winnie ~/test/ftp_site]$ bash script.sh sito user password
-rw-r--r-- 1 (?) (?) 974 Jan 17 20:38 index.html
[sergio@winnie ~/test/ftp_site]$ $ ls
index.html script.sh
[sergio@winnie ~/test/ftp_site]$

ricontrolla le variabili, ecc.

ciao :)

daniele_dll
18-03-2005, 20:47
(vi ripeto ... ho fatto tutte le stesse identiche prove a mano)


in quest'elenco era incluso anche il test a mano dell'heredoc ... comprensivo di variabili copiate pari pari ... ho pore messo un echo subito prima del comando ftp per farmi stampare tutto

stamattina cmq ho provato lo stesso script, ho proprio semplicemente copiato il file, se un altro server e fa perfetto ... mah :bh:

cmq ... per la cronaca ... ho risolto con uno scrippettino php che fa la stessa cosa

Loading