Как запускать работу crontab каждую неделю в воскресенье
263
Я пытаюсь понять, как запускать crontab каждую неделю в воскресенье. Я думаю, что следующее должно работать, но я не уверен, правильно ли я понимаю. Правильно ли следующее?
# 1. Entry: Minute when the process will be started [0-60]
# 2. Entry: Hour when the process will be started [0-23]
# 3. Entry: Day of the month when the process will be started [1-28/29/30/31]
# 4. Entry: Month of the year when the process will be started [1-12]
# 5. Entry: Weekday when the process will be started [0-6] [0 is Sunday]
#
# all x min = */x
Таким образом, в соответствии с этим вы будете 5 8 * * 0работать 8:05 каждое воскресенье.
Чтобы быть более читабельным, вы можете использовать один из них в sun, mon, tue, wed, thu, fri, or satтечение дня. Это также избавляет вас от необходимости выбирать между использованием 0или 7в воскресенье.
грипп
193
Для выполнения cron в воскресенье вы можете использовать любой из этих:
5 8 * * 0
5 8 * * 7
5 8 * * Sun
Где 5 8обозначает время дня, когда это произойдет: 8:05.
В общем, если вы хотите выполнить что-то в воскресенье, просто убедитесь, что 5-й столбец содержит либо из 0, 7либо Sun. У вас было 6, так что это было в субботу.
Формат для cronjobs:
+---------------- minute (0 - 59)
| +------------- hour (0 - 23)
| | +---------- day of month (1 - 31)
| | | +------- month (1 - 12)
| | | | +---- day of week (0 - 6) (Sunday=0 or 7)
| | | | |
* * * * * command to be executed
Вы всегда можете использовать crontab.guru как редактор для проверки своих выражений cron.
Просто чтобы помочь другим избежать глупой ошибки, которую я только что сделал, и убедитесь, что вы установили для минуты что-то отличное от *, или она будет выполняться каждую минуту этого часа!
Голосование за упоминание о том, как указать команду для запуска каждый раз. (Однако пользовательский столбец должен быть пропущен при редактировании с помощью команды "crontab".)
Йоахим Вагнер
1
Воскресенье в полночь это 0 час понедельник, то есть 0 0 * * 1.
Фред Лони
5
При указании значений cron вам нужно убедиться, что ваши значения попадают в диапазоны. Например, некоторые cron используют диапазон 0-7 для дня недели, где 0 и 7 представляют воскресенье. Мы не делаем (проверьте ниже).
Seconds: 0-59
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
Position 1 for minutes, allowed values are 1-60
position 2 for hours, allowed values are 1-24
position 3 for day of month ,allowed values are 1-31
position 4 for month ,allowed values are 1-12
position 5 for day of week ,allowed values are 1-7 or and the day starts at Monday.
Поздравляем с первым ответом на StackOverflow! Обязательно ознакомьтесь с Руководством по ответам . Например, ответ обычно должен содержать некоторую новую информацию, которая отсутствует в существующих ответах.
doz10us
7
это будет работать 24 раза в воскресенье, 10 минут после часа каждый час.
Йенс Тиммерман
0
@ еженедельно лучше работай для меня!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM
@weekly /root/fd/databasebackup/week.sh >> ~/test.txt
* * * * 0
you can use above cron job to run on every week on sunday, but in addition on what time you want to run this job for that you can follow below concept :
* * * * * Command_to_execute
- � � � -
| | | | |
| | | | +�� Day of week (0�6) (Sunday=0) or Sun, Mon, Tue,...
| | | +���- Month (1�12) or Jan, Feb,...
| | +����-� Day of month (1�31)
| +������� Hour (0�23)
+��������- Minute (0�59)
Ответы:
Вот объяснение формата crontab.
Таким образом, в соответствии с этим вы будете
5 8 * * 0
работать 8:05 каждое воскресенье.источник
sun, mon, tue, wed, thu, fri, or sat
течение дня. Это также избавляет вас от необходимости выбирать между использованием0
или7
в воскресенье.Для выполнения cron в воскресенье вы можете использовать любой из этих:
Где
5 8
обозначает время дня, когда это произойдет: 8:05.В общем, если вы хотите выполнить что-то в воскресенье, просто убедитесь, что 5-й столбец содержит либо из
0
,7
либоSun
. У вас было6
, так что это было в субботу.Формат для cronjobs:
Вы всегда можете использовать crontab.guru как редактор для проверки своих выражений cron.
источник
Ниже приведен формат файла crontab.
{минута} {час} {день месяца} {месяц} {день недели} {пользователь} {путь к сценарию оболочки}
Таким образом, каждое воскресенье следует запускать в полночь (обычно воскресенье равно 0, в некоторых редких случаях - 7):
источник
0 0 * * 1
.При указании значений cron вам нужно убедиться, что ваши значения попадают в диапазоны. Например, некоторые cron используют диапазон 0-7 для дня недели, где 0 и 7 представляют воскресенье. Мы не делаем (проверьте ниже).
ссылка: https://github.com/ncb000gt/node-cron
источник
Выражение задания Cron понятным человеку способом Crontab Builder
источник
Я думаю, что вы хотели бы этот интерактивный веб-сайт, который часто помогает мне создавать сложные директивы Crontab: https://crontab.guru/
источник
10 * * * Солнце
источник
@ еженедельно лучше работай для меня!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM @weekly /root/fd/databasebackup/week.sh >> ~/test.txt
источник
источник