Я пытаюсь понять, как запускать crontab каждую неделю в воскресенье. Я думаю, что следующее должно работать, но я не уверен, правильно ли я понимаю. Правильно ли следующее?
5 8 * * 6
Я пытаюсь понять, как запускать crontab каждую неделю в воскресенье. Я думаю, что следующее должно работать, но я не уверен, правильно ли я понимаю. Правильно ли следующее?
5 8 * * 6
Ответы:
Вот объяснение формата 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
в воскресенье.
Для выполнения 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.
{минута} {час} {день месяца} {месяц} {день недели} {пользователь} {путь к сценарию оболочки}
Таким образом, каждое воскресенье следует запускать в полночь (обычно воскресенье равно 0, в некоторых редких случаях - 7):
0 0 * * 0 root /path_to_command
0 0 * * 1
.
При указании значений 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
Выражение задания Cron понятным человеку способом Crontab Builder
Я думаю, что вы хотели бы этот интерактивный веб-сайт, который часто помогает мне создавать сложные директивы Crontab: https://crontab.guru/
10 * * * Солнце
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.
@ еженедельно лучше работай для меня!
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)