*/20 * * * *
Stellt sicher, dass es alle 20 Minuten ausgeführt wird. Ich möchte alle 20 Minuten eine Aufgabe ausführen, beginnend um 5 Uhr nach der vollen Stunde. Ist dies mit Cron möglich? Wäre es:
5/20 * * * *
?
*/20 * * * *
Stellt sicher, dass es alle 20 Minuten ausgeführt wird. Ich möchte alle 20 Minuten eine Aufgabe ausführen, beginnend um 5 Uhr nach der vollen Stunde. Ist dies mit Cron möglich? Wäre es:
5/20 * * * *
?
Antworten:
Versuchen Sie Folgendes, um alle 20 Minuten ab 5 Uhr nach der vollen Stunde eine Aufgabe auszuführen:
5-59/20 * * * *
Erläuterung
Ein *
in dem Minutenfeld ist das gleiche wie in 0-59/1
dem 0-59
der Bereich und 1
der Schritt . Der Befehl wird in der ersten Minute im Bereich (0) ausgeführt, dann in allen aufeinanderfolgenden Minuten, die durch Schritt (1) vom ersten bis zum letzten (59) entfernt sind.
Aus diesem Grund */20 * * * *
wird 0 Minuten, 20 Minuten danach und 40 Minuten danach ausgeführt - das entspricht allen 20 Minuten. Läuft */25 * * * *
jedoch 0 Minuten, 25 Minuten danach und 50 Minuten danach - dies ist nicht dasselbe wie alle 25 Minuten. Aus diesem Grund ist es normalerweise wünschenswert, einen Schrittwert im Minutenfeld zu verwenden, der sich gleichmäßig in 60 teilt.
Um die Startzeit zu versetzen, geben Sie den Bereich explizit an und setzen Sie den ersten Wert auf den Betrag des Versatzes.
Beispiele
5-59/20 * * * *
läuft 5 Minuten danach, 25 Minuten danach und 45 Minuten danach.
10-59/25 * * * *
läuft 10 Minuten danach und 35 Minuten danach.
1-59/2 * * * *
wird jede ungerade Minute laufen.
Sicher!
5,25,45 * * * * /your/cron
5-59/20
möglich ist, habe aber 5,25,45
den Vorteil, dass sofort klar ist, was das bewirkt.
Du kannst es versuchen: */5 * * * * sleep N; your job
sleep `shuf -i 1-100 -n 1`
macht den Trick.