Вы можете найти вдохновение в /etc/cron.d/mdadmиспользовании в Ubuntu и Debian. Вот как работает первое воскресенье каждого месяца: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
спасибо kasperd, 0 18 * * 6 [date +\%d -le 07] && <task> работает хорошо для меня, где необходимо бежать в первую субботу каждого месяца.
симер
Ответы:
16
Это выражение Cron переводится как:
At 21:00 on the 19, 20, 21, 22 and 23rd of every month and every Saturday.
Так что он явно сказал, что cron будет работать в пятницу, 20-го. Это из-за:
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).
/etc/cron.d/mdadm
использовании в Ubuntu и Debian. Вот как работает первое воскресенье каждого месяца: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>
работает хорошо для меня, где необходимо бежать в первую субботу каждого месяца.Ответы:
Это выражение Cron переводится как:
Так что он явно сказал, что cron будет работать в пятницу, 20-го. Это из-за:
Эта информация взята из этого удобного инструмента Cron: http://crontab.guru/
Чтобы ваша работа выполнялась в определенные дни, когда это суббота, вы можете использовать:
Это решение от crontab день недели против дня месяца?
источник
%
, что в cronjobs имеет особое значение - он разделяет стандартный ввод команды.