Ich benutze Ubuntu 14.04 und der Cron-Daemon läuft:
# ps ax | grep cron
822 ? Ss 0:00 cron
Es werden jedoch keine Jobs ausgeführt. Bisher habe ich Einträge in folgenden /var/log/syslog
Formaten erhalten:
2014-05-04T11:47:01.839754+01:00 localhost CRON[29253]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly ))
aber jetzt gibt es keine cron-bezogenen einträge. Ich bekam auch Einträge wie diesen in /var/log/auth.log
:
2014-05-04T11:47:01.839183+01:00 localhost CRON[29252]: pam_unix(cron:session): session opened for user root by (uid=0)
2014-05-04T11:47:13.495691+01:00 localhost CRON[29252]: pam_unix(cron:session): session closed for user root
aber jetzt gibt es wieder keine cron-bezogenen einträge.
Mir ist nicht bewusst, dass sich etwas geändert hat. Ich habe versucht, cron neu zu starten:
# service cron restart
cron stop/waiting
cron start/running, process 24907
Ich habe versucht crontab -e
, einen Cron-Job hinzuzufügen, * * * * * date >> /tmp/somefile
der funktioniert hat, aber es wurde eine neue Crontab in installiert /var/spool/cron/crontabs/root
, während ich möchte, dass Cron die Datei in verwendet /etc/crontab
.
Gibt es eine Debug-Option, die ich verwenden kann, oder ein Protokoll, das möglicherweise eine Fehlermeldung ausgibt, die ich untersuchen kann?
no crontab for root
.crontab
Befehl (-l
switch) abgerufene Crons sind benutzerabhängig, während/etc/crontab
sie zum Speichern systemweiter Crons verwendet werden. Aus diesem Grund werden Aufgaben, die in gespeichert/etc/crontab
sind, nicht in denen von Personen angezeigtcrontab -l
.Antworten:
Um das Debuggen von Fehlern in Ihren
cron
Jobs zu erleichtern, sollten Sie Ihre E-Mails überprüfen. Dies wird normalerweise in einer Datei wie/var/mail/<user_name>
oder gespeichert/var/spool/mail/<user_name>
.Diese beiden Dateien sind tatsächlich Hardlinks auf meiner Debian-Box, aber ich weiß nicht, ob dies Standard ist.
Erläuterung
Von der
cron(8)
Seite:quelle
Sie haben gezeigt, dass es für root keine crontab gibt. Haben Benutzer einen crontab-Eintrag? Wenn Sie nur root verwenden, können Sie auch die folgenden Verzeichnisse überprüfen: /etc/cron.daily/ - /etc/cron.hourly/ - /etc/cron.monthly/ - /etc/cron.weekly
Auf meinem Rechner (Centos 6.4) habe ich mlocate.cron im Verzeichnis /etc/cron.daily/ und cron führt dieses Skript täglich aus.
Ich denke, Sie müssen nur Cron-Jobs hinzufügen.
quelle
/etc/crontab
. Vielleicht ist die Frage, warum escrontab -l
nicht anerkennt?Ich habe dieses Problem behoben, indem ich die Berechtigungen auf
/etc/crontab
Folgendes änderte :Zuvor war es
-rw-rw-r--
. Das war die einzige Änderung. Es hat nicht funktioniert, jetzt ist es. Ich weiß immer noch nicht warum.quelle
Ich hatte auch eine ähnliche Art von Problem, aber nachdem ich den root-Benutzer auf der angegeben hatte
/etc/crontab
, wurde der Cron-Job ausgelöst.Dies kann an der Syntax liegen, die in
crontab -e
der anderen als in der angegebenen Syntax verwendet wird/etc/crontab
.quelle