Cronjob läuft vor der geplanten Zeit, was könnte falsch sein?
10
Ich habe unten Crontab für Samstag geplant, der zwischen den Tagen 19-23 fällt, ich bin nicht sicher, warum es am 20. (Freitag) lief. Irgendwelche Ideen?
Vielleicht finden Sie Inspiration in /etc/cron.d/mdadmUbuntu und Debian. So läuft es jeden ersten Sonntag im Monat:57 0 * * 0 root if [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ]; then /usr/share/mdadm/checkarray --cron --all --idle --quiet; fi
Kasperd
danke kasperd, 0 18 * * 6 [date +\%d -le 07] && <task> funktioniert gut für mich, wo es erforderlich ist, jeden ersten Samstag im Monat zu laufen.
Simer
Antworten:
16
Dieser Cron-Ausdruck bedeutet:
At 21:00 on the 19, 20, 21, 22 and 23rd of every month and every Saturday.
Deshalb wurde cron ausdrücklich angewiesen, am Freitag, dem 20., zu rennen. Das ist wegen:
When the schedule specifies both date and weekday, they're combined with a logical OR,
i.e. the job will run if current_minute == scheduled_minute
&& current_hour == scheduled_hour && current_month == scheduled_month &&
(current_day == scheduled_date OR current_weekday == scheduled_weekday).
Diese Informationen stammen aus diesem praktischen Cron-Tool:
http://crontab.guru/
Damit Ihr Job an bestimmten Tagen ausgeführt wird, an denen es Samstag ist, können Sie Folgendes verwenden:
/etc/cron.d/mdadm
Ubuntu und Debian. So läuft es jeden ersten Sonntag im Monat:57 0 * * 0 root if [ -x /usr/share/mdadm/checkarray ] && [ $(date +\%d) -le 7 ]; then /usr/share/mdadm/checkarray --cron --all --idle --quiet; fi
0 18 * * 6 [date +\%d -le 07] && <task>
funktioniert gut für mich, wo es erforderlich ist, jeden ersten Samstag im Monat zu laufen.Antworten:
Dieser Cron-Ausdruck bedeutet:
Deshalb wurde cron ausdrücklich angewiesen, am Freitag, dem 20., zu rennen. Das ist wegen:
Diese Informationen stammen aus diesem praktischen Cron-Tool: http://crontab.guru/
Damit Ihr Job an bestimmten Tagen ausgeführt wird, an denen es Samstag ist, können Sie Folgendes verwenden:
Diese Lösung ist von Crontab Wochentag gegen Tag des Monats?
quelle
%
bei Cronjobs eine besondere Bedeutung hat - es trennt den Standard des Befehls.