CronJob wird nicht ausgeführt

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
m@ddin
Beiträge: 203
Registriert: 28.05.2006 20:43:10
Kontaktdaten:

CronJob wird nicht ausgeführt

Beitrag von m@ddin » 05.06.2008 11:16:43

Hi Leute!

Ich hab da ein seltsames Problem. Ich hab einen CronJob eingerichtet, der jede Nacht um 1 Minute nach 4 Uhr die Festplatte spiegelt. Führ ich den Befehl über /root/mirror.sh als root aus, funktioniert das wunderbar. Als Sicherheit, dass alles funktioniert lasse ich mir eine E-Mail schicken, dass das Programm durchgelaufen ist. Manuell ausgeführt bekomme ich diese E-Mail auch. Aber über den CronJob bekomme ich keine Mail, jetzt weiß ich natürlich nicht, ob das Programm auch wirklich lief, was mir ein wenig Sorgen macht.

So, jetzt hab ich nachgesehen, ob es irgendwo eine Meldung gibt, ob das Programm ausgeführt wird. Gibt es aber nicht. Kann mir jemand sagen, wo ich überall nachschauen kann?

Danke & viele Grüße,
Martin

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

Re: CronJob wird nicht ausgeführt

Beitrag von nepos » 05.06.2008 11:29:49

/var/log/syslog protokolliert cron normal, wenn er einen Job ausführt.

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

Re: CronJob wird nicht ausgeführt

Beitrag von roli » 05.06.2008 13:36:16

Hi,

das bei cronjobs das Environment nicht unbedingt das selbe ist wie wenn du als angemeldeter User arbeitest ist dir bewusst, oder? Versuch's mal mit Vollqualifizierten Programm aufrufen.
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"

m@ddin
Beiträge: 203
Registriert: 28.05.2006 20:43:10
Kontaktdaten:

Re: CronJob wird nicht ausgeführt

Beitrag von m@ddin » 06.06.2008 14:02:10

Hi!

Also das seltsame ist, dass in den Logs eben nirgends was davon auftaucht. Ich hab jetzt dem Shell-Script einfach mal gesagt, es soll nach Beendigung eine Datei anlegen und gewartet. Siehe da, die Datei wurde angelegt, also muss der CronJob ja doch irgendwo laufen. Das Problem ist, dass ich das Shell-Script nicht geschrieben habe, sondern mein Provider. Ich hab meinen Server vor einiger Zeit neu einrichten lassen und die haben mir aus Kulanz (weils ewig gedauert hat) eine zweite Festplatte eingebaut, die jetzt jede Nacht via Rsync gefüllt wird.
So, am Ende des Shell-Scripts steht folgender Aufruf:

echo "RSYNC $HOSTNAME DONE" | mail -s "Backup complete" meine@emailadresse.de

So, den Befehl 'mail' gibt es aber unter Debian ETCH nicht und ich finde auch das entsprechende Paket dafür nicht. Deshalb habe ich diese Zeile auskommentiert und mit

sendmail meine@emailadresse.de < /root/rsync_mail_body.txt

ersetzt. Führe ich es manuell aus, wird die E-Mail versandt, über den Cron anscheinend nicht. Sind die Umgebungen so unterschiedlich, dass nichtmal eine E-Mail verschickt werden kann?

Viele Grüße,
Martin

m@ddin
Beiträge: 203
Registriert: 28.05.2006 20:43:10
Kontaktdaten:

Re: CronJob wird nicht ausgeführt

Beitrag von m@ddin » 06.06.2008 14:11:50

roli hat geschrieben:Hi,

das bei cronjobs das Environment nicht unbedingt das selbe ist wie wenn du als angemeldeter User arbeitest ist dir bewusst, oder? Versuch's mal mit Vollqualifizierten Programm aufrufen.
Hi!

Ja, eigentlich ist es mir bewusst, aber ich dachte nicht, dass sendmail davon betroffen ist. Auf einem anderen Server (allerdings kein Debian, sondern CentOS) funktioniert es mit dem mail-Befehl ohne Probleme. Eine Änderung von sendmail... auf /usr/sbin/sendmail hat das Problem gelöst :D

Danke dir!

Viele Grüße,
Martin

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

Re: CronJob wird nicht ausgeführt

Beitrag von roli » 06.06.2008 14:14:41

Hi,
m@ddin hat geschrieben: Ja, eigentlich ist es mir bewusst, aber ich dachte nicht, dass sendmail davon betroffen ist.
Wenn sendmail halt nicht im PATH liegt, dann kann die Kiste halt nicht ;-}
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: CronJob wird nicht ausgeführt

Beitrag von nepos » 06.06.2008 14:48:21

m@ddin hat geschrieben:So, den Befehl 'mail' gibt es aber unter Debian ETCH nicht und ich finde auch das entsprechende Paket dafür nicht.
Nun ja, packages.debian.org gibt da aber eine ganze Liste aus. Ausserdem gibts auch noch apt-file womit man sehen kann, welche Datei in welchem Paket ist.

Prinzipiell solltest du dir immer bewusst sein, dass das Environment in einem Cronjob nicht deinem in der Shell entspricht. Entweder, man setzt $PATH zu Beginn des Skriptes korrekt oder man ruft jeden Befehl mit vollem Pfad auf.

Antworten