Я намагаюся розібратися, як виконувати роботу з кронтабом щотижня в неділю. Я думаю, що наступне має працювати, але я не впевнений, чи правильно я розумію. Чи правильно таке?
5 8 * * 6
Я намагаюся розібратися, як виконувати роботу з кронтабом щотижня в неділю. Я думаю, що наступне має працювати, але я не впевнений, чи правильно я розумію. Чи правильно таке?
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
неділю.
Щоб виконати хрон у неділю, ви можете скористатися будь-яким із цих:
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, вам потрібно переконатися, що ваші значення потрапляють у діапазони. Наприклад, деякі крони використовують діапазон 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
Я думаю, вам сподобається цей інтерактивний веб-сайт, який часто допомагає мені створювати складні директиви 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.
@weekly працюй краще для мене!
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)