Wie man jede Woche am Sonntag einen Crontab-Job ausführt

263

Ich versuche herauszufinden, wie man am Sonntag jede Woche einen Crontab-Job ausführt. Ich denke, das Folgende sollte funktionieren, bin mir aber nicht sicher, ob ich es richtig verstehe. Ist das folgende richtig?

5 8 * * 6
dev_fight
quelle
7
Die Frage bezieht sich auf "Sonntag", aber die akzeptierte Antwort bezieht sich auf "Samstag". ¿?
Inigomedina
11
Verwenden Sie die Website https://crontab.guru/ , um einen beliebigen Cron-Ausdruck zu erstellen.
nbi

Antworten:

481

Hier ist eine Erklärung des Crontab-Formats.

# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x

Demnach 5 8 * * 0würden Sie jeden Sonntag um 8:05 Uhr laufen.

Bjoern Rennhak
quelle
148
Um besser lesbar zu sein, können Sie eines sun, mon, tue, wed, thu, fri, or satfür den Tag verwenden. Dies erspart Ihnen auch die Wahl zwischen 0oder 7für Sonntag.
Grippe
193

Um einen Cron am Sonntag ausführen zu lassen, können Sie eine der folgenden Methoden verwenden:

5 8 * * 0
5 8 * * 7
5 8 * * Sun

Wo 5 8steht die Tageszeit, zu der dies geschehen wird: 8:05.

Im Allgemeinen, wenn Sie etwas am Sonntag ausführen wollen, so stellen Sie sicher , dass die fünfte Spalte enthält entweder 0, 7oder Sun. Sie hatten 6, also lief es am Samstag.

Das Format für Cronjobs ist:

 +---------------- minute (0 - 59)
 |  +------------- hour (0 - 23)
 |  |  +---------- day of month (1 - 31)
 |  |  |  +------- month (1 - 12)
 |  |  |  |  +---- day of week (0 - 6) (Sunday=0 or 7)
 |  |  |  |  |
 *  *  *  *  *  command to be executed

Sie können crontab.guru jederzeit als Editor verwenden, um Ihre Cron-Ausdrücke zu überprüfen.

fedorqui 'SO hör auf zu schaden'
quelle
14
Nur um anderen zu helfen, den dummen Fehler zu vermeiden, den ich gerade gemacht habe, und stellen Sie sicher, dass Sie die Minute auf etwas anderes als * einstellen, sonst wird sie in jeder Minute dieser Stunde ausgeführt!
user2924019
40

Es folgt das Format der Crontab-Datei.

{Minute} {Stunde} {Tag des Monats} {Monat} {Wochentag} {Benutzer} {Pfad zum Shell-Skript}

Also, um jeden Sonntag um Mitternacht zu laufen (Sonntag ist normalerweise 0, in einigen seltenen Fällen 7):

0 0 * * 0 root /path_to_command
xShirase
quelle
1
Stimmen Sie ab, um zu erwähnen, wie der Befehl angegeben werden soll, der jedes Mal ausgeführt werden soll. (Die Benutzerspalte muss jedoch beim Bearbeiten über den Befehl "crontab" weggelassen werden.)
Joachim Wagner
1
Sonntag Mitternacht ist die 0 Stunde von Montag, dh 0 0 * * 1.
Fred Loney
5

Wenn Sie Ihre Cron-Werte angeben, müssen Sie sicherstellen, dass Ihre Werte innerhalb der Bereiche liegen. Zum Beispiel verwenden einige Cron einen Bereich von 0 bis 7 für den Wochentag, wobei sowohl 0 als auch 7 den Sonntag darstellen. Wir nicht (siehe unten).

Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6

Referenz: https://github.com/ncb000gt/node-cron

Mendon Ashwini
quelle
3
"wir, die wir ? Welches Programm und welche Version?
Massimo
Es ist direkt von der Verbindung: D
Mendon Ashwini
2

Cron Job Ausdruck in einer für Menschen lesbaren Weise Crontab Builder

Vytautas
quelle
1
Imho, dies ist keine Antwort, da es hier nichts hinzufügt, noch beantwortet es die Frage hier in irgendeiner Weise.
Pankaj
2

Ich denke, Sie möchten diese interaktive Website, die mir oft hilft, komplexe Crontab-Anweisungen zu erstellen: https://crontab.guru/

Jaspis
quelle
0

10 * * * So.

Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12 
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday. 
Bachan Joseph
quelle
2
Herzlichen Glückwunsch zu Ihrer ersten Antwort bei StackOverflow! Bitte lesen Sie unbedingt den Antwortleitfaden . Beispielsweise sollte die Antwort normalerweise einige neue Informationen enthalten, die in vorhandenen Antworten fehlen.
doz10us
7
Dies wird 24 Mal am Sonntag ausgeführt, 10 Minuten nach der vollen Stunde.
Jens Timmerman
0

@ wöchentlich besser für mich arbeiten! example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM @weekly /root/fd/databasebackup/week.sh >> ~/test.txt

未来 陆家嘴 顶尖 的 投资 人
quelle
0
* * * * 0 

you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :

* * * * *  Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
Siddharth Bhandari
quelle