crontab führt kein shell scripts aus

Bash, Shell, PHP, Python, Perl, CGI
patrickheppler
Posts: 9
Joined: 2007-05-20 10:39

crontab führt kein shell scripts aus

Post by patrickheppler » 2007-05-30 16:40

Hallo
ich habe mir einen Ordner Backup erstellt.
Darin befindet sich eine Datei backup mit folgendem Inhalt:
ftp -n ftp.meinhost.de < ftp.input

Die Datei ftp.input enthält:
user meinname meinpass
cd /ordner
get datei
bye

Wenn ich von Hand ./backup aufrufe funktioniert es einwandfrei.
Nun wollte ich das ganze als cron anlegen.
Also zu testen eine Datei test angelegt mit dem Inhalt:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
35 15 * * * root /Backup/backup

Passiert gar nix. Also weiterer Test:
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
39 15 * * * root echo Hallo Welt > test.txt

Siehe da, eine Datei test.txt mit dem Inhalt Hallo Welt wurde angelegt.

Warum wird dann mein Shell Script nicht ausgeführt?

Habe es auch mit
SHELL=/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
45 15 * * * root cd /Backup | ./backup
versucht, ohne Ergebniss.

Noch ein Versuch, den Befehl in /etc/crontab eingetragen. Wieder nix.

Ich weiss langsam nicht mehr weiter....

Anonymous

Re: crontab führt kein shell scripts aus

Post by Anonymous » 2007-05-30 18:29

Bei mir gab es meistens eine Diskrepanz in den Umgebungsvariablen.

a) Suche mal ftp: #whereis ftp - Dann den kompletten Pfad in Dein Skript reinschreiben, also: /usr/sbin/ftp ...bla o.ä.

b) Shebang hast Du, ja? Falls nicht, erste Zeile bitte: #!/bin/sh

Gruß, m.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: crontab führt kein shell scripts aus

Post by flo » 2007-05-30 18:59

patrickheppler wrote: Darin befindet sich eine Datei backup mit folgendem Inhalt:
ftp -n ftp.meinhost.de < ftp.input
#!/bin/bash ergänzen und absoluten Pfad zur ftp.input-Datei setzen, sonst wird die in /root angenommen ...

patrickheppler
Posts: 9
Joined: 2007-05-20 10:39

Re: crontab führt kein shell scripts aus

Post by patrickheppler » 2007-05-31 09:18

Das #!/bin/bash in Verbindung mit der crontab unter /etc funktioniert nun. Danke!