Каково значение “+” в crontab файле и почему это работает?

Я нашел эту команду крона на некотором сервере Ubuntu в /etc/cron.d/. 0 */3+2 * * * root <command goes here>

Попробованный это на моем ПК с Ubuntu 14.04.3 LTS путем добавления следующего файла:/etc/cron.d/test */3+2 * * * * root echo 'Cron test' Вот журнал крона: Oct 20 03:51:01 artem-notebook CRON[17427]: (root) CMD (echo 'Cron test') Oct 20 03:54:01 artem-notebook CRON[17595]: (root) CMD (echo 'Cron test') Oct 20 03:57:01 artem-notebook CRON[17662]: (root) CMD (echo 'Cron test') Oct 20 04:00:01 artem-notebook CRON[17728]: (root) CMD (echo 'Cron test')

Таким образом, кажется, что это работает так или иначе, правильно?

Что делает это "+" средний? Есть ли какая-либо документация для этой функции?

2
задан 20 October 2015 в 03:10
1 ответ

cron не поддерживает арифметические операции внутри полей. Прочерки означают диапазоны ( 9–12 = 9,10,11,12 ), а косые черты означают «каждый N-й». Похоже, что парсер просто игнорирует все, от неанализируемого символа до конца. Таким образом, * / 3 + 2 эквивалентно * / 3 , что, в свою очередь, эквивалентно 0,3,6,9,12,15 ... 48,51 , 54,57 - именно то, что у вас есть в журналах.

4
ответ дан 3 December 2019 в 10:01

Теги

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