Як запустити cron один раз, щодня о 10 вечора


178

Я ввійшов:

* 22 * * * test > /dev/null

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


3
Цей веб-сайт пояснить будь-який графік роботи cron: crontab.guru
Bruno Finger,

Відповіді:


369

Він працює щохвилини години 22 Я здогадуюсь. Спробуйте виконати наступне, щоб запустити його кожну першу хвилину години 22:

0 22 * * * ....

Хоча година 22 може бути відносно заощадженою, будь ласка, розгляньте перший випадок цього питання
Мартін Тома

@MartinThoma завжди спробуйте man cronспочатку, ви повинні знайти те, що шукаєте.
Марк Саймон

Пам'ятайте, щоб перевірити дату системи, мені трапилося встановити crontab, щоб почати роботу о 22, але насправді це почалося о 23, оскільки система була UTC (тому 22 для системи було 23 для мене в GMT).
nnsense

Я підтримав цю відповідь, але я знав це правило ... все одно я хотів підтвердити свої мовчазні знання: D
rnrneverdies

154

Ось ще кілька прикладів

  • Бігайте кожні 6 годин за 46 хвилин минулої години:

    46 */6 * * *

  • Виконати о 2:10:

    10 2 * * *

  • Виконати о 3:15:

    15 3 * * *

  • Виконати о 4:20 ранку:

    20 4 * * *

  • Виконати о 5:31:

    31 5 * * *

  • Виконати о 17:31:

    31 17 * * *



25

Ось, на що я дивлюся кожного разу, коли пишу новий запис із записом на Crontab:

Щоб почати редагування з термінального типу:

 zee$ crontab -e

що ви додасте у файл crontab:

0 22 * * 0  some-user /opt/somescript/to/run.sh

Що це значить:

[ 
+ user => 'some-user',      
+ minute => 0’,             <<= on top of the hour.
+ hour => '22',              <<= at 10 PM. Military time.
+ monthday => '*',           <<= Every day of the month*
+ month => '*',              <<= Every month*
+ weekday => ‘*’,            <<= Everyday (0 thru 6) = sunday thru saturday
] 

Також перевірте, яка оболонка працює на вашій машині, і відповідно назвіть файл, АБО він не буде виконаний.

Перевірте оболонку будь-якою echo $SHELL абоecho $0

Це може бути "оболонка (sh)Борна, знову оболонка Борна, шкаралупа (bash)Корна (ksh).. і т.д."


1

Синтаксис crontab

* * * * * 

Minute(0-59) Hour(0-24) Day_of_month(1-31) Month(1-12) Day_of_week(0-6) Command_to_execute

Ваш синтаксис

* 22 * * * test > /dev/null

ваша робота буде виконувати щохвилини о 22:00 години весь тиждень, місяць та рік.

додавши опцію (0-59) у хвилину, її буде запущено один раз о 22:00 протягом усього тижня, місяця та року.

0 22 * * * command_to_execute 

Джерело https://www.adminschoice.com/crontab-quick-reference

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