PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cronjob wird nicht ausgeführt



Cerox
22.07.06, 18:50
Hallo zusammen,

ich könnte hier gerade verzweifeln und ich verstehe nicht, wieso mein Cronjob nicht ausgeführt wird...

Ich habe folgendes gemacht:

1. crontab /etc/crontab als root ausgeführt
2. die crontab von root mit crontab -e editiert
3. Cron neu gestartet auch wenn es wahrscheinlich nicht nötig ist

Hier mal die crontab von root:


server:/usr/local# crontab -l
#root crontab

SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# m h dom mon dow user command
* * * * * /usr/local/cron.backup_sebi

Mails bekomme ich leider nicht, und ich weiß nicht, in welchen logs ich außer in /var/log/messages gucken könnte:

Cron loggt auch nur darein, wenn ich ihn mal neustarte.



Jul 22 19:17:24 server /usr/sbin/cron[6580]: (CRON) INFO (pidfile fd = 3)
Jul 22 19:17:24 server /usr/sbin/cron[6581]: (CRON) STARTUP (fork ok)
Jul 22 19:17:24 server /usr/sbin/cron[6581]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

Die /etc/crontab habe ich auch mal entsprechend editiert mit dem zusätzlichen Userfeld - keine Veränderung.

Der Cron sollte eigentlich laufen...


server:/usr/local# ps aux | grep cron
root 6581 0.0 0.1 1884 724 ? Ss 19:17 0:00 /usr/sbin/cron

cron.backup_sebi (das Script, welches Cron jede Minute ausführen soll) sieht folgendermaßen aus; führe ich dieses Script manuell aus, funktioniert alles wie gewünscht:


#!/bin/bash

if [ ! -e /home/sebastian/backup.log ]; then
/usr/bin/nohup /usr/local/backup_sebi 2>/dev/null &
fi

Weiß jemand woran das liegt?

btw: Hat wahrscheinlich nichts damit zu tu, aber was darf ich darunter verstehen:


/usr/sbin/cron[6581]: (CRON) INFO (Skipping @reboot jobs -- not system startup)

Apoll
22.07.06, 18:56
Ist bei /usr/local/cron.backup_sebi das +x Flag gesetzt?

Cerox
22.07.06, 19:07
Wie könnte ich die Datei sonst manuell ausführen?

Apoll
22.07.06, 19:13
Wie könnte ich die Datei sonst manuell ausführen?
Na indem man 'sh' als Interpreter nimmt vielleicht?

Cerox
22.07.06, 19:14
Hmpf, hast ja recht^^

Die Rechte sind aber korrekt gesetzt (chmod 700; owner: root).

Mal eine Frage btw:

edit:

So hab den Dreizeiler jetzt mit in mein Webinterfacescript mit aufgenommen, welches sowieso alle fünf Sekunden ausgeführt wird. Von daher hat sich das Thema erledigt.

Stört es irgendwelche bereits installierten Programme unter Debian wenn ich atd und cron deinstalliere?

Apoll
23.07.06, 00:28
Stört es irgendwelche bereits installierten Programme unter Debian wenn ich atd und cron deinstalliere?
Jein - sieh in /etc/cron.{hourly,daily,weekly} und /etc/crontab nach, ob sich Programme darin befinden.
Wenn nein, könnte man cron löschen. Da Debian cron allerdings als 'important' markt (und sicher nicht nur Debian), würde ich den Dienst nicht löschen.



Important programs, including those which one would expect to find on any Unix-like system. If the expectation is that an experienced Unix person who found it missing would say "What on earth is going on, where is foo?", it must be an important package.[4] Other packages without which the system will not run well or be usable must also have priority important. This does not include Emacs, the X Window System, TeX or any other large applications. The important packages are just a bare minimum of commonly-expected and necessary tools.

Quelle: http://www.debian.org/doc/debian-policy/ch-archive.html

Cerox
23.07.06, 15:19
In der daily befinden sich Samba, find, logrotate und andere Dinge.

Mir fällt gerade ein: Ich kann ja gar keine E-Mails bekommen, da ich den E-Mail Server runtergeworfen hab ^^

Naja nur trotzdem komisch, dass meine Jobs nicht ausgeführt werden...

Nyomic
24.07.06, 07:40
versuchs so:
* * * * * /bin/sh /usr/local/cron.backup_sebi

ausserdem hast du absolut keine zeitangabe wann das script ausgeführt werden soll. So wie's jetzt dasteht wirds nämlich ständig ausgeführt iirc

Cerox
24.07.06, 10:21
ausserdem hast du absolut keine zeitangabe

* * * * * <- also ich sehe da eine Zeitangabe.

Das Script wird jede Minute ausgeführt. Ich werde deinen Hinweis heute abend mal befolgen und ausprobieren, ob es funktioniert.

edit:
So habs ausprobiert; klappt immer noch nicht.

Habe es mit /bin/sh und /bin/bash vor dem Befehl probiert und beim Verlassen der crontab hat er sogar gesagt "installing new crontab".

Hat noch jemand ne Idee?