Як запускати роботу з кронтабом щотижня в неділю


263

Я намагаюся розібратися, як виконувати роботу з кронтабом щотижня в неділю. Я думаю, що наступне має працювати, але я не впевнений, чи правильно я розумію. Чи правильно таке?

5 8 * * 6

7
Питання про "неділю", але прийнята відповідь - про "суботу". ¿?
inigomedina

11
Використовуйте веб- сайт https://crontab.guru/ для створення будь-якого виразу cron.
nbi

Відповіді:


481

Ось пояснення формату 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 щонеділі.


148
Щоб бути більш читабельним, ви можете використовувати один sun, mon, tue, wed, thu, fri, or satна день. Це також позбавляє вас від необхідності вибирати користування 0або 7неділю.
грип

193

Щоб виконати хрон у неділю, ви можете скористатися будь-яким із цих:

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.


14
Просто, щоб допомогти іншим уникнути дурної помилки, яку я щойно допустив, і переконайтеся, що ви встановите хвилину на щось інше, ніж *, або воно буде виконуватися щохвилини цієї години!
користувач2924019

40

Далі йде формат файлу crontab.

{хвилина} {година} {день місяця} {місяць} {день тижня} {користувач} {сценарій до оболонки}

Отже, запускати кожну неділю опівночі (в неділю зазвичай 0, у деяких рідкісних випадках 7):

0 0 * * 0 root /path_to_command

1
Голосування за згадування того, як вказати команду для виконання кожного разу. (Стовпчик користувача, однак, потрібно опустити під час редагування за допомогою команди "crontab".)
Йоахім Вагнер

1
Неділя опівночі - це 0 годину понеділка, тобто 0 0 * * 1.
Фред Лоні

5

Вказуючи свої значення 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

довідка: https://github.com/ncb000gt/node-cron


3
"ми" ... хто? яка програма та версія?
Массімо

Це безпосередньо за посиланням: D
Мендон Ашвіні

2

Висловлення роботи Cron у читаному людиною способі, що створює crontab


1
Імхо, це не відповідь, оскільки вона тут нічого не додає, і жодним чином не відповідає на це питання.
Панкай

2

Я думаю, вам сподобається цей інтерактивний веб-сайт, який часто допомагає мені створювати складні директиви Crontab: https://crontab.guru/


0

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. 

2
Вітаємо вас з першою відповіддю на StackOverflow! Будь ласка, перевірте Посібник з відповідей . Наприклад, відповідь, як правило, має містити нову інформацію, якої немає в існуючих відповідях.
doz10us

7
це буде працювати 24 рази в неділю, 10 хвилин минулої години щогодини.
Йенс Тіммерман


0
* * * * 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)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.