crontab (5) definiert die folgenden Felder:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sun, or use names)
und erklärt:
Step values can be used in conjunction with ranges. Following a range with ``/<number>'' specifies skips of the number's value through the range. For example, ``0-23/2'' can be used in the hours field to specify command execution every other hour (the alternative in the V7 standard is ``0,2,4,6,8,10,12,14,16,18,20,22'').
Also keine zweiwöchentlichen Jobs, soweit ich weiß. Ich bin mir ziemlich sicher, dass es Problemumgehungen gibt. Was sind Ihre? Oder habe ich etwas verpasst?
Antworten:
Sie können das Ding jeden Mittwoch von cron laufen lassen und dann entscheiden lassen, ob es eine gerade oder eine ungerade Woche ist. beispielsweise:
quelle
Viele Cron (Sie haben nicht angegeben, welche Sie verwenden) unterstützen Bereiche. Also so etwas wie
Würde den ersten und dritten Mittwoch des Monats treffen.
quelle
-
oder/
beteiligt bist, lohnt es sich wahrscheinlich, den Zeitplan zu beschreiben)man 5 crontab
: " Der Tag der Ausführung des Befehls kann durch zwei Felder angegeben werden - Tag des Monats, und Wochentag Wenn beiden Felder beschränkt sind (dh nicht *), wird der Befehl ausgeführt werden , wenn. Entweder Feld der Spiele Aktuelle Zeit. Zum Beispiel würde "30 4 1,15 * 5" dazu führen, dass ein Befehl am 1. und 15. eines jeden Monats sowie jeden Freitag um 4:30 Uhr ausgeführt wird "(meine Betonung).Verwenden Sie für etwas, das alle zwei Wochen ausgeführt werden muss, diesen Einzeiler:
Dieses spezielle Skript soll freitags ausgeführt werden. Die Woche, für die ausgeführt werden soll, kann mit "-eq 0" oder "-eq 1" angepasst werden.
quelle
Anacron ist eine gute Lösung für die Einschränkungen von Cron.
quelle
Wenn Ihre Bedürfnisse nicht buchstäblich zweiwöchentlich sind, können Sie den Cronjob einfach am 1. und 15. des Monats ausführen:
Das läuft am ersten und fünfzehnten eines jeden Monats um 8:15 Uhr, unabhängig vom Wochentag.
quelle
Ausgehend von dieser Erklärung sollte die Einstellung 3/2 im Wochenfeld die Aufgabe an jedem zweiten Mittwoch ausführen - implizit, aber ich denke machbar.
quelle
for(int i=3; i <=3 ; i+=2) {}
da es nur einmal durchlaufen wird. Es spielt keine Rolle, ob der "Schritt" 1 oder 2 ist.