How to configure cron
Die Aufgabe
Starte an jedem ersten Montag im Monat um 7:15 Uhr
Die Lösung
15 7 */32,1-7 * 1
Check it out on crontab.guru
Der Trick
Aufbau cron: Linux manual page
* * * * *
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 Sunday, or use names)
Bei Angabe eines Tags im Monat und eines Tags in der Woche, wird der Job ausgeführt, wenn eine der Bedingungen erfüllt ist (ODER Verknüpfung):
0 0 1 * MON
bedeutet: Läuft um Mitternacht, wenn es entweder der 1. Tag im Monat ODER ein Montag ist.
Wenn eines der Felder unbeschränkt (*) ist, wird stattdessen eine AND-Verknüpfung verwendet:
0 0 * * MON
bedeutet: Es läuft um Mitternacht an jedem Montag.
Unbeschränkt sind alle Felder, die mit einem * anfangen:
0 0 1-7 * */7
bedeutet: An jedem 1. Sonntag im Monat (*/7 gilt als unbeschränktes Feld).
Dies lässt sich aber nur auf den Sonntag anwenden und nicht auf einen anderen Tag der Woche. Um einen Job jeden 1. Montag im Monat zu starten, kann man
0 0 */100,1-7 * MON
verwenden, was bedeutet: An jedem 100. Tag des Monats und jeden Tag Tag von 1-7, wenn es ein Montag ist. Also kurz: An jedem ersten Montag im Monat.
Die Quelle
https://blog.healthchecks.io/2022/09/schedule-cron-job-the-funky-way/