Планирование Cron: часовой аргумент в 24-часовом формате?

Чтобы запустить cron ночью в 4 часа ночи, мне нужно написать 4 * * * *?

И чтобы запустить в 4 часа дня, это должно быть 16 * * * *?

10
задан 4 August 2016 в 07:58

2 ответа

Нет. Это будет выполняться на 4-й и 16-й минутах каждого часа.

Вы ищете:

0 4,16 * * * command

Это будет работать в 4 утра и 4 вечера.

Или, если две команды разные:

0 4 * * * command
0 16 * * * another_command
  1. В первом столбце задаются минуты. В этих примерах я устанавливаю значение 0, чтобы событие происходило в час.

  2. В следующем столбце мы устанавливаем час, когда вы хотите, чтобы он работал. Мы используем абсолютные значения, но вы можете использовать */2 для «каждого часа» и т. Д.

  3. В следующей колонке говорится, что мы хотим, чтобы это происходило каждый день месяца.

  4. В следующем столбце указаны месяцы, в которые это должно срабатывать (все в этом случае).

  5. В последнем столбце указано, в какие дни недели это разрешено запускать. 0-7 (где 0 и 7 - воскресенье). * означает, что может срабатывать в любой день недели.

0
ответ дан 4 August 2016 в 07:58
1110 Нет, это не правильно. Значение полей

* * * * *

для каждого слота звездочки соответственно:

  • минута (0 - 59)
  • час (0 - 23)
  • день месяца (1–31)
  • месяц (1–12)
  • день недели (0–6) (воскресенье = 0 или 7)

Таким образом, для каждодневных 4 утра и 4 вечера вы должны использовать:

0 4,16 * * *

Если вы оставите слот так же, как *, это будет означать каждую итерацию этой единицы времени, то есть каждый час , ежедневно и т. д.

Здесь, часть 0 4,16 означает, что она будет работать в 0 минут 4 утра и 4 часа дня (то есть 4:00 утра и 4:00 вечера). Если вы хотите запустить его, скажем, 15 минут 4 утра и 4 вечера, вместо этого вы измените его на 15 4,16 * * * (то есть 4:15 утра и 4:15 вечера).

0
ответ дан 4 August 2016 в 07:58

Другие вопросы по тегам:

Похожие вопросы: