Назад | Перейти на главную страницу

Что означает «+» в файле crontab и почему он работает?

Я нашел эту команду cron на каком-то сервере 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' Вот журнал cron: 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')

Так вроде как-то работает?

Что означает этот "+"? Есть ли документация по этой функции?

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