web-dev-qa-db-de.com

Wie formatiere ich benutzerdefinierte Crontabs in /etc/cron.d/?

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?)

2
david.libremone

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.)

0
david.libremone