Ich verwende Ubuntu 14.04 und der Cron-Daemon läuft:
# ps ax | grep cron
822 ? Ss 0:00 cron
aber es werden keine Jobs ausgeführt. Ich habe vorher Einträge /var/log/syslog
wie diese 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 habe auch Einträge wie diesen erhalten 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 nochmals, jetzt gibt es keine Cron-bezogenen Einträge.
Mir ist nicht bekannt, 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, mithilfe crontab -e
von einen Cron-Job hinzuzufügen, * * * * * date >> /tmp/somefile
was funktioniert hat, aber dabei wurde eine neue Crontab in installiert /var/spool/cron/crontabs/root
, obwohl ich möchte, dass Cron die Datei in verwendet /etc/crontab
.
Gibt es eine Debug-Option, die ich verwenden kann, oder irgendwo ein Protokoll, das möglicherweise eine Fehlermeldung enthält, die ich untersuchen kann?
Antwort1
Um Ihnen bei der Fehlerbehebung Ihrer cron
Jobs weiter zu helfen, sollten Sie Ihre E-Mails überprüfen. Diese werden normalerweise in einer Datei wie /var/mail/<user_name>
oder gespeichert /var/spool/mail/<user_name>
.
Diese beiden Dateien sind auf meiner Debian-Box eigentlich Hardlinks, aber ich weiß nicht, ob das Standard ist.
Erläuterung
Von der cron(8)
Seite:
Bei der Ausführung von Befehlen wird die gesamte Ausgabe an den Besitzer der Crontab gesendet (oder an den in der Umgebungsvariablen MAILTO in der Crontab genannten Benutzer, sofern vorhanden).
Antwort2
Sie haben gezeigt, dass es keine Crontab für Root 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.
also denke ich, dass Sie nur Cron-Jobs hinzufügen müssen.
Antwort3
Ich habe dies gelöst, indem ich die Berechtigungen wie /etc/crontab
folgt geändert habe:
-rw-r--r-- 1 root root 778 May 10 21:31 /etc/crontab
Vorher war es -rw-rw-r--
. Das war die einzige Änderung. Es hat nicht funktioniert, jetzt funktioniert es. Ich bin mir immer noch nicht sicher, warum.
Antwort4
Ich hatte auch ein ähnliches Problem, aber nachdem ich den Root als Benutzer angegeben hatte /etc/crontab
, wurde der Cron-Job ausgelöst.
Dies kann an der Syntax liegen, crontab -e
die sich von der unterscheidet /etc/crontab
.