Script in der Shell funktioniert, als Cronjob aber nicht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
toni83
Beiträge: 5
Registriert: 01.08.2008 15:01:15

Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von toni83 » 11.09.2008 10:43:02

Hallo,

ich verwende zur Sicherung von diversen Verzeichnissen Scripte, welche per Cronjob ausgeführt werden sollen.
Bsp:

Code: Alles auswählen

#!/bin/bash
DATE=`date +%Y%m%d_%H%M%S`
tar -czvf /home/technik/sicherung/var_www.tar.gz /var/www
if (( $? == 0 ))
then
        echo "$DATE Sicherung von /var/www erfolgreich durchgefuehrt" >> /var/www/technik/sicherungslog
else
        echo "$DATE Sicherung von /var/www FEHLGESCHLAGEN" >> /var/www/technik/sicherungslog
fi
Führe ich das Script in der Konsole als root aus, klappt alles wie gewünscht.

Wenn das Script als Cronjob gestartet wird, erhalte ich meine Fehlgeschlagen-Meldung, und das tar-File wird ebenfalls nicht korrekt erstellt.

Mein Eintrag in /etc/crontab:

Code: Alles auswählen

32  9    * * *   root   /sicherungsscripte/sicherung_var_www
Woran kanns liegen?

Danke Toni

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von Meillo » 11.09.2008 11:04:47

$PATH könnte ein anderer sein, deshalb besser den vollen Pfad zu `tar' angeben (siehe `whereis tar').

Falls es daran nicht liegt, könntest du zum Debuggen die Ausgabe von `env' und von `id' im Cronjob mit denen in der interaktiven Shell vergleichen.
Use ed once in a while!

toni83
Beiträge: 5
Registriert: 01.08.2008 15:01:15

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von toni83 » 11.09.2008 11:13:22

Das mit den Pfaden hab ich gerade auch schon Versucht, aber daran liegts nicht.
Das komische ist ja, dass das Script korrekt gestartet wird. Es wird auch ein tar.gz erstellt, aber nicht komplett.
Die echo-Ausgabe funktioniert ja auch.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von nepos » 11.09.2008 11:24:18

Und die genaue Fehlermeldung?

toni83
Beiträge: 5
Registriert: 01.08.2008 15:01:15

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von toni83 » 11.09.2008 11:39:14

Wie komm ich an die "genaue" Fehlermeldung?

Wenn ich den tar-Befehl mitlogge,loggt er die Verzeichnise die er packt (aber viel zu wenige), und dann meine Fehlgeschlagenausgabe.

Im syslog steht nichts besonderes, nur dass mein Script von root ausgeführt wurde

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von roli » 11.09.2008 13:25:42

Hi,
an die Fehlermeldung könntest du z.B. mit

Code: Alles auswählen

32  9    * * *   root   /sicherungsscripte/sicherung_var_www > /root/mein_cron_script.txt
kommen
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Re: Script in der Shell funktioniert, als Cronjob aber nicht

Beitrag von nepos » 11.09.2008 13:46:15

Normal bekommst du alle Ausgaben des Cron-Jobs per Mail...

Antworten