Cron-Planung: Ist das Stundenargument im 24-Stunden-Format?

10

Muss ich schreiben, um nachts um 4 Uhr morgens cron laufen zu lassen 4 * * * *?

Und um 16 Uhr zu rennen, sollte es sein 16 * * * *?

aneuryzm
quelle
Da Google dieses Thema immer noch bearbeitet, möchten neue Besucher möglicherweise etwas über www.cronsandbox.com erfahren, wo Sie mit den verschiedenen Zeitwerten experimentieren und einen Zeitplan anzeigen können.
Art Stanmore
Leider scheint es, dass www.cronsandbox.com nicht mehr ist.
Jordanien

Antworten:

13

Nein, das würde in der 4. und 16. Minute jeder Stunde laufen .

Du schaust nach:

0 4,16 * * * command

Das wird sowohl um 4 Uhr als auch um 16 Uhr laufen.

Oder wenn die beiden Befehle unterschiedlich sind:

0 4 * * * command
0 16 * * * another_command
  1. In der ersten Spalte werden die Minuten festgelegt. In diesen Beispielen setze ich es auf 0, damit das Ereignis zu jeder vollen Stunde stattfindet.

  2. In der nächsten Spalte legen wir die Stunde fest, zu der es ausgeführt werden soll. Wir verwenden absolute Werte, die Sie jedoch */2für "jede zweite Stunde" usw. verwenden können.

  3. In der nächsten Spalte heißt es, dass dies jeden Tag im Monat geschehen soll.

  4. Die nächste Spalte gibt die Monate an, in denen dies ausgelöst werden soll (in diesem Fall alles).

  5. In der letzten Spalte steht, an welchen Wochentagen dies ausgelöst werden darf. 0-7 (wobei sowohl 0 als auch 7 Sonntag sind). *bedeutet, dass es an jedem Wochentag ausgelöst werden kann.

Oli
quelle
Danke, vollständige Antwort. Ich habe auch diesen Artikel gefunden, der mir wirklich geholfen hat: thegeekstuff.com/2009/06/15-practical-crontab-examples
aneuryzm
0

Nein, das stimmt nicht. Die Bedeutung der Felder

* * * * *

für jeden Sternchenschlitz:

  • Minute (0 - 59)
  • Stunde (0 - 23)
  • Tag des Monats (1 - 31)
  • Monat (1 - 12)
  • Wochentag (0 - 6) (Sonntag = 0 oder 7)

Für jeden Tag von 4 bis 16 Uhr sollten Sie Folgendes verwenden:

0 4,16 * * *

Wenn Sie einen Slot so verlassen, wie *es bedeutet, bedeutet dies jede Iteration dieser Zeiteinheit, dh jede Stunde, täglich usw.

Hier 0 4,16bedeutet der Teil, dass er um 0 Uhr von 4 Uhr morgens und 16 Uhr abends (dh 4 Uhr morgens und 16 Uhr abends) läuft. Wenn Sie es ausführen möchten, sagen wir 15 Minuten von 4 Uhr morgens und 16 15 4,16 * * *Uhr abends, würden Sie es stattdessen ändern (dh 4:15 Uhr und 16:15 Uhr).

Arthur Knopper
quelle
8
Nicht richtig. Dies würde jede Minute zwischen 4 und 16 Uhr laufen. Beispiel: 04:00, 04:01, 04:02 usw.
Oli
Diese Antwort sollte gelöscht werden. Dies ist jetzt eine berühmte Frage und wir möchten nicht, dass Leute diese Frage mit falschen Antworten spammen.
Fosslinux
@Oli Die Antwort wurde gerade korrigiert.
Melebius