Debian Squeeze: Cronjobs starten "willkürlich"

Linux Homer

New Member
[gelöst] Debian Squeeze: Cronjobs starten "willkürlich"

Hallo!
Ich steige nicht mehr durch und bitte in diesem renomierten Forum um Hilfe:

Cronjobs, welche ich als root in /etc/crontab oder mit crontab -e eintrage, werden nicht zu dem angegeben Zeitpunkt gestartet, sondern mehrere Stunden später "willkürlich". Z.B. die Jobs, die ich gestern Abend reingestellt habe, sind morgens ausgeführt, dann rufe ich Mittags die Mails ab und siehe da: Wieder welche ausgeführt. Das Kuriose: Derzeit ist nur ein Cronjob aktiv, aber an diesem Tag erhielt ich bereits 4 Ausführungsmails! Wie kann man das erklären?

Der Cronjob startet ein Script, das wie oben erwähnt auch läuft. Es ist eher ein Problem von Cron (bzw. mir) an sich. Das Script ist verlinkt mit /etc/cron.daily - Aber Daily heißt doch nicht, dass es 4 mal ausgeführt wird, oder doch? Und warum dann nicht zu der Zeit, an der die cron.daily laut crontab ausgeführt werden sollte?

Hier die /etc/crontab:

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
32 22 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
1 7 * * * root /var/scripts/backdbs.sh
#


Hier crontab -l:

root@server:/etc/cron.daily# crontab -l
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root@localhost
HOME=/
#run-parts
# m h dom mon dow user command
21 2 * * * /var/scripts/backdbs.sh >> /tmp/log1
root@server:/etc/cron.daily#

Tja, vielleicht kann da hier einer der Freaks mir auf die Sprünge helfen.

Viele Grüße

Homer
 
Last edited by a moderator:
Geht wahrscheinlich hierum, oder: /var/scripts/backdbs.sh
Das Script wird mind. 2x ausgeführt, einmal um 7:01 über die systemweiter Crontab in /etc/crontab, dann einmal um 2:21 durch die pers. Crontab des Users root unter /var/spool/cron/crontabs.
Wenn du außerdem noch einen Link zu der Datei unter /etc/cron.daily abgelegt hast, dann erfolgt darüber um 22:32 noch einmal eine Ausführung.
Damit wären zumindest drei Ausführungen zu erklären und die vierte ist entweder noch irgendwo ein Eintrag oder eine Ausführung vom Vortag, die du noch nicht bekommen hast.
 
Moin Danton!
Deine Ausführung hat mir die Augen geöffnet. Man sieht ja manchmal den Wald ... nicht.

Es waren drei Ausführungen/Mails, nicht 4 (sorry). Daher:


Ankunft Mail | Ausführung laut Crontab (???)

00:30 Uhr | 22:32 Uhr
04:21 Uhr | 02:21 Uhr
09:01 Uhr | 07:01 Uhr

Jetzt wird mir einiges klarer. Man erkennt eine Zeitverzögerung von 2 Stunden. Aber warum nur? Es handelt sich um einen vServer. Mit "date" erhalte ich das korrekte Datum/Uhrzeit. Irgendwas im System läuft 2 Stunden hinterher. Wie kann man das erkennen?

Viele Grüße

Homer
 
Es wäre möglich, daß bei dir die Zeitzone falsch eingestellt ist, denn der Unterschied zwischen MESZ und GMT sind ja eben diese zwei Stunden. IIRC kannst du das mit dem Befehl tzconfig prüfen/korrigieren.
 
Vielen Dank! Ja, das wird es sein, UTC. Also, kann es sein, dass es an meinem Provider liegt (da vServer)?

Wie auch immer, ich stelle die Crons nun immer 2 Stunden früher ein und alles wird gut. Auf meinen eigenen Homeserver mit den gleichen Einstellungen tritt das Problem nicht auf.

Bis dann und Danke!
 
Vielen Dank! Ja, das wird es sein, UTC. Also, kann es sein, dass es an meinem Provider liegt (da vServer)?

Ja. Stelle mit "dpkg-reconfigure tzdata" die Zeitzone systemweit auf Europa/Berlin und dann sollte auch der Cronjob zu deiner gewünschten Zeit laufen :)
 
Back
Top