An welchem ​​Tag / zu welcher Uhrzeit beginnt eine wöchentliche Cron?

8

Ich habe mir den Cron-Mann angesehen, aber nichts gefunden, was geholfen hätte :(

Weiß jemand?

Minze
quelle
Dies ist eher für Superuser geeignet, oder?

Antworten:

16

Ich gebe hier eine alternative Antwort, obwohl Trevor richtig ist.

Das @weeklySchlüsselwort cron macht genau das, was er erwähnt hat. Die meisten Distributionen verwenden run-partsjedoch ihre eigenen geplanten Crontab-Dateien (stündlich, täglich, wöchentlich und monatlich), bei denen die Schlüsselwörter von cron nicht verwendet werden.

/etc/cron.weeklyZum Beispiel hat Ubuntu eine, die für jeden Cronjob eine eigene Datei enthält.

Dies ist allgemein definiert in /etc/crontab

Ubuntus karmische Version 9.10 enthält Folgendes /etc/crontab

17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Die wöchentliche Crontab in Ubuntu findet am Sonntag um 6.47 Uhr statt

Hinweis: Wenn Sie nach Manpages für Crontab-Implementierungen suchen, möchten Sie diese man 5 crontabanstelle von nur verwenden man crontab. Letzteres gibt Ihnen nur die Syntax für den Befehl crontab. Ersteres gibt Ihnen Details zur Crontab-Implementierung.

Philip Reynolds
quelle
Ein bisschen pingelig hier, Abschnitt 5 in den Manpages ist für Dateiformate und Konventionen, also nicht ganz implementiert. Es gibt das Dateiformat an und hat oft Beispiele
Steve Buzonas
7 ist Sonntag? Ich dachte 0 war Sonntag? (Und wenn es um 1 anfing, würde ich denken, dass 1 Sonntag war.)
felwithe
@felwithe Sonntag ist sowohl 0 als auch 7, sodass Sie auswählen können, welcher Tag am besten zum ersten Tag der Woche in Ihrem Gebietsschema passt (Montag vs. Sonntag).
László van den Hoek
Ich denke, das ist falsch, also hilf mir zu verstehen : So the weekly crontab in Ubuntu is run at 6.47am on Sunday. Dies ist falsch, da der test -x /usr/sbin/anacron ||Teil des Befehls besagt, dass NUR das Material rechts von ausgeführt werden soll, ||wenn "/ usr / sbin / anacron" NICHT ausführbar ist oder nicht vorhanden ist, dies jedoch der Fall ist, sodass der Befehl run-partstatsächlich nie ausgeführt wird cron! Vielmehr anacronmuss es seinen Umgang, nicht wahr? Die Tabelle von Aanacron in "/ etc / anacrontab" zeigt dies für wöchentlich: Dies 7 10 cron.weekly run-parts --report /etc/cron.weeklybedeutet, dass der wöchentliche Job jeden 7. Tag mit einer Verzögerung von 10 Minuten ausgeführt wird.
Gabriel Staples
Aber ... ich weiß nicht, wann Anacron tatsächlich läuft oder wie es das bestimmt. Machst du?
Gabriel Staples
8

@weekly entspricht: 0 0 * * 0

Also läuft es am Sonntag um 00:00 Uhr.

Trevor Tippins
quelle
0

Die Antwort liegt in der Manpage für die Crontab selbst, ( man 5 crontab):

Diese speziellen Zeitangaben "Spitznamen" werden unterstützt, die die 5 anfänglichen Zeit- und Datumsfelder ersetzen und denen das Zeichen '@' vorangestellt ist:

@reboot    :    Run once after reboot.
@yearly    :    Run once a year, ie.  "0 0 1 1 *".
@annually  :    Run once a year, ie.  "0 0 1 1 *".
@monthly   :    Run once a month, ie. "0 0 1 * *".
@weekly    :    Run once a week, ie.  "0 0 * * 0".
@daily     :    Run once a day, ie.   "0 0 * * *".
@hourly    :    Run once an hour, ie. "0 * * * *".

Es 0 0 * * 0ist also 00:00 Uhr (an jedem Datum eines jeden Monats), solange es Sonntag ist (Wochentag 0).

mwfearnley
quelle