Cron-Job zur Ausführung am Donnerstag vor dem zweiten Montag im Monat

Cron-Job zur Ausführung am Donnerstag vor dem zweiten Montag im Monat

Ich versuche, einen Cron-Zeitplan zu schreiben, um einen Job am Donnerstag vor dem zweiten Montag in einem Monat auszuführen. Bisher habe ich dies

0 0 8 ? * MON#2

Aber das läuft am zweiten Montag im Monat. Gibt es eine Möglichkeit, von diesem Zeitpunkt an vier Tage zurück zum vorherigen Donnerstag zu gehen?

Im September 2016 ist beispielsweise der zweite Montag des Monats der 12. des Monats. Ich möchte dies also so planen, dass es am vorherigen Donnerstag ausgeführt wird, also dem 8. des Monats.

Antwort1

Ich glaube nicht, dass Sie das in Cron machen können. Vielleicht 0 0 * * 4sollten Sie jeden Donnerstag ein Skript ausführen und in diesem Skript können Sie prüfen, ob es der Donnerstag vor dem zweiten Montag des Monats ist.

Antwort2

0 0 * * 4 [ $(date +\%d) -ge 4 -a $(date +\%d) -le 10 ] && run-script

Führen Sie donnerstags (hier Mitternacht an jedem beliebigen Tag des Monats und in jedem beliebigen Monat) einen Crontab-Eintrag aus, der test( [) verwendet, dateum zu prüfen, ob der Tag des Monats zwischen 4 und 10 liegt. Wenn ja, führen Sie das gewünschte Skript aus.

verwandte Informationen