Cron und FTP

nichtskoenner

Active Member
Hallo zusammen,

ich habe mir ein Skript geschrieben, das
eine Datei auf einen öffentlichen FTP-Server
überträgt.
Starte ich das Skript mit "./myprog", dann
wird die Datei auch auf den FTP übertragen.

Nun wollte ich dieses automatisieren und habe einen
Cronjob eingerichtet.
Der Cronjob ruft mein Skript korrekt auf, loggt
sich auf dem FTP ein, wechselt dort in das richtige
Verzeichnis - übeträgt die Datei aber mit 0 Bytes.
Das heisst, dass der Name übertragen worden ist - nicht
aber der Inhalt.

Woran kann das liegen ?
Wie gesagt: beim manuellen Aufruf des Skriptes funktioniert
alles wunderbar und unter Linux hat es auch per Cron
geklappt. Wo mache ich einen Denkfehler ?

nichtskoenner
 
Okay okay, wie soll man mir bei den
wenigen Infos helfen können..sorry

Ich schreibe mal einen Auszug aus dem Skript:

#!/bin/sh

echo "<html>...bla.....</html>" > auswertung.htm
ftp ftp://name:passwort@ftpserver<<eof
lcd /usr/myhome
cd myonlineverzeichnis
asc
put auswertung.htm
bye
eof

Das Skript hat die Rechte 777. Ebenso habe ich es
per Cron als User aber auch als Root getestet - ohne Erfolg

Starte ich dieses Skript mit ./myskript dann funktioniert
Alles wunderbar.
Wird das Skript per Cron gestartet dann wechselt er auf
dem ZielFTP wohl nach myonlineverzeichnis und überträgt
dorthin die auswertung.htm - leider aber ist diese Datei dann
0 Bytes groß und hat natürlich dann keinen Inhalt. Auf dem
ZielFTP habe ich leider keine Logs.
Wie kann ich nun besser debuggen, um den Fehler zu finden ?

nichtskoenner
 
man müsste nachverfolgen können, ob auswertung.htm wirklich grösser als 0 Byte ist wenn cron sie übertragen soll. (oder nutze ethereal um zu sehen was passiert).
Aber versuch doch bitte mal anstelle von

./myscript

den Aufruf

sh /pfad/myscript

auch wenn schon #!/bin/sh in der ersten Zeile steht. Einen Versuch ist es Wert.
 
So, ich habe mal einen tcpdump laufen lassen und nach
der IP des FTP-Servers gegrept.

Protokoll mit tcpdump:
18:30:01.796416 217.5.115.77.domain > meine_ip.hybrid: 39991 1/0/0 A server_ip (55)
18:30:01.810063 meine_ip.1264 > server_ip.ftp: S 1134879936:1134879936(0) win 57344 <mss 1452,nop,wscale 0,nop,nop,timestamp 26857274 0> (DF)
18:30:01.920937 server_ip.ftp > meine_ip.1264: S 2244958351:2244958351(0) ack 1134879937 win 5792 <mss 1452,nop,nop,timestamp 635738889 26857274,nop,wscale 0> (DF)
18:30:01.926164 meine_ip.1264 > server_ip.ftp: . ack 1 win 57600 <nop,nop,timestamp 26857286 635738889> (DF)
18:30:02.303923 server_ip.ftp > meine_ip.1264: P 1:44(43) ack 1 win 5792 <nop,nop,timestamp 635738927 26857286> (DF)
18:30:02.314577 meine_ip.1264 > server_ip.ftp: P 1:19(18) ack 44 win 57600 <nop,nop,timestamp 26857325 635738927> (DF) [tos 0x10]
18:30:02.423970 server_ip.ftp > meine_ip.1264: . ack 19 win 5792 <nop,nop,timestamp 635738939 26857325> (DF)
18:30:02.427646 server_ip.ftp > meine_ip.1264: P 44:84(40) ack 19 win 5792 <nop,nop,timestamp 635738939 26857325> (DF)
18:30:02.431402 meine_ip.1264 > server_ip.ftp: P 19:35(16) ack 84 win 57600 <nop,nop,timestamp 26857336 635738939> (DF) [tos 0x10]
18:30:02.579520 server_ip.ftp > meine_ip.1264: . ack 35 win 5792 <nop,nop,timestamp 635738955 26857336> (DF)
18:30:10.344256 server_ip.ftp > meine_ip.1264: P 84:111(27) ack 35 win 5792 <nop,nop,timestamp 635739725 26857336> (DF)
18:30:10.353789 meine_ip.1264 > server_ip.ftp: P 35:41(6) ack 111 win 57600 <nop,nop,timestamp 26858128 635739725> (DF) [tos 0x10]
18:30:10.463170 server_ip.ftp > meine_ip.1264: . ack 41 win 5792 <nop,nop,timestamp 635739742 26858128> (DF)
18:30:10.534243 server_ip.ftp > meine_ip.1264: P 111:130(19) ack 41 win 5792 <nop,nop,timestamp 635739743 26858128> (DF)
18:30:10.554786 meine_ip.1264 > server_ip.ftp: P 41:49(8) ack 130 win 57600 <nop,nop,timestamp 26858147 635739743> (DF) [tos 0x10]
18:30:10.664739 server_ip.ftp > meine_ip.1264: P 130:149(19) ack 49 win 5792 <nop,nop,timestamp 635739763 26858147> (DF)

Gruß
 
Ich werde beknackt :-(

Ich habe gerade das gleiche Skript auf meiner alten Suse
getestet - alles ohne Probleme.

Also scheint BSD noch irgendwo einen Schalter zu haben.

nichtskoenner
 
Zurück
Oben