Mein Verständnis ist, dass ich Systemjobs mit einfachen Zeitplänen zu /etc/cron.hourly/
, /etc/cron.daily/
usw. und Systemjobs mit benutzerdefinierten Zeitplänen zu /etc/cron.d/
hinzufügen kann.
Aber in einer großen IT-Abteilung, in der mehrere Personen einen Server betreuen, ist das Verzeichnis /etc/cron.d wahrscheinlich der beste Ort, um crontabs zu installieren - es ist ein zentraler Punkt und erspart das Suchen nach ihnen! (CronHowTo)
Ich habe /etc/cron.d/testing
mit folgendem Inhalt erstellt:
# /etc/cron.d/testing: crontab entries for report generation
Shell=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15 13 * * 3 root /usr/bin/supervisorctl start reports
00 16 * * 4 root /usr/bin/supervisorctl start reports
Die Datei hat folgende Eigenschaften:
[email protected]:/etc/cron.d$ ls -la
total 28
drwxr-xr-x 2 root root 4096 Jul 14 12:57 .
drwxr-xr-x 146 root root 12288 Jul 14 13:48 ..
-rw-r--r-- 1 root root 188 Feb 20 2014 anacron
-rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
-rwxr--r-- 1 root root 286 Jul 14 13:43 testing
Ich habe die Maschine am Donnerstag um 13:00 Uhr neu gestartet und erwartet, dass sie einen Bericht um 13:15 Uhr abfeuert. (Es war geplant, diesen Aufruf zu testen, ihn aber auch jeden Freitag um 16:00 Uhr einzuplanen.)
Aber nichts ist passiert. In /var/log/syslog
oder den Supervisor-Protokollen ist kein Fehler (oder Ereignis) aufgetreten. Ich benutze den gleichen Befehl in /etc/cron.daily/testing
und es funktioniert:
#!/bin/sh
/usr/bin/supervisorctl start reports
... und ich kann den Supervisor-Job unabhängig aufrufen. Ich glaube also nicht, dass das Problem im Supervisor-Job oder in meinem Aufruf liegt.
Was mache ich falsch? (Und wo wird das Problem protokolliert?)
Das für die Crontab-Datei /etc/cron.d/testing
verwendete Format ist korrekt. (Es sollte sein, es wurde von /etc/cron.d/anacron
kopiert)
Das Problem war, dass ich es von Windows aus modifiziert und wahrscheinlich die Zeilenenden durcheinander gebracht habe. Ich habe anacron
erneut geklont, es unter Ubuntu bearbeitet und alles hat funktioniert.
(Ich weiß immer noch nicht, wo die Fehlermeldung, falls vorhanden, protokolliert wurde.)