
Ich habe ein Linux-Gentoo-System, das jeden Tag um 3:10 Uhr morgens einen Cronjob ausführt. Allerdings /etc
enthält keine Datei Informationen zu diesem bestimmten Cronjob, und das Ergebnis crontab -l
ist
# check scripts in cron.hourly, cron.daily, cron.weekly and cron.monthly
MAILTO=""
0 * * * * rm -f /var/spool/cron/lastrun/cron.hourly
1 3 * * * rm -f /var/spool/cron/lastrun/cron.daily
15 4 * * 6 rm -f /var/spool/cron/lastrun/cron.weekly
30 5 1 * * rm -f /var/spool/cron/lastrun/cron.monthly
*/10 * * * * test -x /usr/sbin/run-crons && /usr/sbin/run-crons
Das Verzeichnis /etc/cron.daily
enthält wahrscheinlich den betreffenden Job, allerdings für eine Zeit von 3:01! Warum ist das so? Ist der eigentliche Cronjob irgendwo anders gespeichert? Dauert es 9 Minuten, bis Gentoo realisiert, dass ein Job ausgeführt wird?
Weitere Informationen:
- Ich habe für 13:20 Uhr einen anderen Crontab-Job (in cron.d), der jeden Tag genau um 13:20 Uhr ausgeführt wird.
Antwort1
Überprüfen Sie, ob es nicht von einem anderen Benutzer stammt:
getent passwd | while read r; do sudo -u $(echo $r | cut -d':' -f1) crontab -l; done
Antwort2
crontab -l
listet nur die benutzerspezifische Crontab des aufrufenden Benutzers auf. Es gibt auch eine System-Crontab, die nur von root bearbeitet werden kann, aber Jobs als beliebiger Benutzer ausführen kann. Die System-Crontab befindet sich in der Datei /etc/crontab
, zusätzliche Jobs in Dateien im Verzeichnis /etc/cron.d
.
Die Verzeichnisse /etc/cron.daily
und werden von cron /etc/cron.weekly
nicht /etc/cron.monthly
in erstellt, sondern von einem in aufgeführten Job durchlaufen /etc/crontab
.