Probleme mit Cron / Anacron

marcoweb

Registered User
System: Ubuntu 6.06 und Plesk 8.4.0

Hallo, habe Probleme mit Cron bzw. Anacron.
Beides ist installiert und wird auch ausgeführt, in der anacrontab hab ich die entsprechenden Einträge auch gefunden warum die entsprechenden Skripte in den cron.ordnern (cron.daily, cron.weekly usw.) so nicht ausgeführt werden weis ich im Moment noch nicht. Wenn ich die Lösung zu den Problemen gefunden habe werde ich es hier posten bin aber für Tips gerne zu haben. Vielleicht hat ja jemand ein ähnliches Problem. Aufgefallen ist es mir, da Plesk den Traffic nicht berechnet hat und logrotation bzw. syslog nicht ausgeführt wurden.

Da werd ich noch ein bischen suchen müssen aber DANKE schonmal für die Tips.

EDIT:
Hab nun mal die syslog studiert aus der letzten nacht, daraus konnte ich erkennen, das cron alles in /etc/cron.d/ regelmäßig ausführt. Was in den anderen cron.ordnern ausgeführt werden soll passiert weder durch anacron noch cron. Meine Crontab sieht zur Zeit so aus meiner Meinung nach fehlerfrei:
Code:
# /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.
# This file also has a username field, that none of the other crontabs do.
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
################################################################DAS IST STANDARD
# m h dom mon dow user command
50 * * * * root run-parts --report /etc/cron.hourly
1 3 * * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
8 0 * * 7 root test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly
3 3 1 * * root test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly
################################################################AB HIER HAB ICH ES GEÄNDERT
# cron-hourly
#
# cron-daily
5 1 * * * root /etc/cron.daily/50plesk-daily
10 1 * * * root /etc/cron.daily/logrotate
12 1 * * * root /etc/cron.daily/netkit-inetd
15 1 * * * root /etc/cron.daily/sysklogd
18 1 * * * root /etc/cron.daily/tomcat5
20 1 * * * root /etc/cron.daily/webalizer
#
# cron-weekly
1 0 * * 7 root /etc/cron.weekly/50plesk-weekly
#
# cron-monthly
10 3 1 * * root /etc/cron.monthly/50plesk-monthly
#
und hier die anacrontab:
Code:
# /etc/anacrontab: configuration file for anacron
 
# See anacron(8) and anacrontab(5) for details.
 
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
 
# These replace cron's entries
1 5 cron.daily nice run-parts --report /etc/cron.daily
7 10 cron.weekly nice run-parts --report /etc/cron.weekly
@monthly 15 cron.monthly nice run-parts --report /etc/cron.monthly
 
Last edited by a moderator:
auszüge aus der syslog

Hier sind so die wichtigsten Auszüge aus der syslog. Daran sieht man das die Befehle aus der crontab ausgeführt werden.
Code:
Jul 6 15:32:47 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.weekly' started
Jul 6 15:32:48 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.weekly' terminated
 
Jul 7 02:50:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[28486]: (root) CMD (run-parts --report /etc/cron.hourly)
Jul 7 03:01:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[1871]: (root) CMD (test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily)
Das hier kommt mir jedoch etwas merkwürdig vor besonders die Zeit (stimmt weder mit contab noch anacrontab überein) sowie die Meldung (keine Ahnung ob das normal ist):
Code:
Jul 6 15:32:47 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.daily' terminated
Jul 6 15:32:47 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.weekly' started
Jul 6 15:32:48 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.weekly' terminated
Jul 6 15:34:20 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.monthly' started
Jul 6 15:34:21 lvpsxxx-xxx-xxx-xxx anacron[9685]: Job `cron.monthly' terminated

Dateien in /etc/cron.d/ werden ausgeführt
Code:
Jul  6 15:39:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[24480]: (root) CMD (  [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -r -0 rm)
Jul  6 15:39:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[24488]: (root) CMD (  [ -d /var/lib/php4 ] && find /var/lib/php4/ -type f -cmin +$(/usr/lib/php4/maxlifetime) -print0 | xargs -r -0 rm)
Jul  6 15:40:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[25703]: (www-data) CMD ([ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null)
Jul  6 15:44:01 lvpsxxx-xxx-xxx-xxx /USR/SBIN/CRON[27746]: (root) CMD (/opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
 
Last edited by a moderator:
/etc/crontab sollte nicht geändert werden.
Wenn du eigene Cronjobs hinzufügen willst, dann lege sie in /etc/cron.d/... oder erstelle dort einen Symlink auf das Script oder erstelle eine User-Crontab mit dem Befehl "crontab".

Was in /etc/cron.d/... liegt, muss nicht extra in eine Crontab eingetragen werden, da es durch run-parts gestartet wird (was übrigens das einzige sein sollte, das sich in /etc/crontab befindet).
 
ist schonmal ein Anfang

Also das kann ich ja schonmal machen, wobei mein Problem damit dennoch nicht behoben sein dürfte. Das habe ich ja erstmal nur gemacht damit die Skripte überhaupt ausgeführt werden. Da cron die Ordner nicht durchgeht.
Da steht zwar run-parts in der crontab mit drin aber er startet aus irgendeinem Grund die darin befindlichen Skripte nicht.
 
Das gleiche Problem hatte ich auf meinen Debian Etch - Server auch. Crons wurden direkt ausgeführt, aber die Run-Parts nicht. Ich hab dann herausgefunden, dass es an Anacron lag. Hatte damals nicht so viel Zeit und hab deshalb Anacron einfach deaktiviert, statt zu schaun, wo der Fehler liegt.

Seitdem hab ich nichts geändert, weil meine Cron-Jobs jetzt ausgeführt werden. Ist ja ein Server, der logischerweise immer läuft. Da ist Anacron nicht so wichtig.


Schaut dann so aus:
Code:
50 * * * * root run-parts --report /etc/cron.hourly
1 3 * * * root run-parts --report /etc/cron.daily
8 0 * * 7 root run-parts --report /etc/cron.weekly
3 3 1 * * root run-parts --report /etc/cron.monthly

Wenn jemand jetzt natürlich eine schönere Lösung findet, um das Problem zu beheben, hab ich ein Ohr dafür offen. :D
 
Danke schonmal

das werd ich gleich mal ausprobieren. Morgen seh ich dann das Ergebnis da ich es an der Zeit sehe wann die Webstatistiken erstellt wurden. Ich werds hier dann Posten.
 
Ist anacron eigentlich gestartet?

Diese Zeile
Code:
test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily
aus der /etc/crontab z.B. ist so zu interpretieren:
"Wenn /usr/sbin/anacron nicht existiert oder nicht ausführbar ist, starte run-parts."
Ist diese Datei vorhanden und ausführbar, wird run-parts nicht gestartet. Ob Anacron überhaupt läuft und benutzt wird, wird dabei nicht berücksichtigt.

Da bei einem Server anacron sowieso keine Geige spielen sollte, halte ich den Ansatz von Phate für die Lösung des Problems.
 
Back
Top