Как запускать работу crontab каждую неделю в воскресенье
Я пытаюсь понять, как запускать crontab каждую неделю в воскресенье. Я думаю, что следующее должно работать, но я не уверен, правильно ли я понимаю. Правильно ли следующее?
5 8 * * 6
11 ответов
Вот объяснение формата 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 каждое воскресенье.
Для выполнения 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
Вы всегда можете использовать https://crontab.guru/ как редактор для проверки своих выражений cron.
Ниже приведен формат файла crontab.
{минута} {час} {день месяца} {месяц} {день недели} {пользователь} {путь к сценарию оболочки}
Таким образом, каждое воскресенье следует запускать в полночь (обычно воскресенье равно 0, в некоторых редких случаях - 7):
0 0 * * 0 root /path_to_command
Веб-сайт crontab отображает результаты в реальном времени: https://crontab.guru/
При указании значений cron вам нужно убедиться, что ваши значения попадают в диапазоны. Например, некоторые cron используют диапазон 0-7 для дня недели, где 0 и 7 представляют воскресенье. Мы не.
Minutes: 0-59
Hours: 0-23
Day of Month: 1-31
Months: 0-11
Day of Week: 0-6
Думаю, вам понравится этот интерактивный веб-сайт, который часто помогает мне создавать сложные директивы Crontab: https://crontab.guru/
@ еженедельно лучше работай для меня!
example,add the fellowing crontab -e ,it will work in every sunday 0:00 AM
@weekly /root/fd/databasebackup/week.sh >> ~/test.txt
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.
* * * * 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)
Мне бы очень хотелось запустить с использованием ключевого слова @weekly, если вам все равно, в какое время дня это выполняется. Он должен запускаться каждое воскресенье и определенно более удобочитаем.
@weeklysome_script.sh