У меня есть задание cron, которое должно выполняться каждые 10 минут, но не должно запускаться в течение часа каждую ночь (с 5 до 6 утра), пока система не работает для резервного копирования.
Насколько я понимаю, следующий синтаксис должен работать в crontab
:
*/10 0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * <command>
Это вряд ли хорошее решение, есть ли более эффективный способ выразить мои потребности в cron?
В случае необходимости, на сервере работает RHEL 5.
Cron в RHEL поддерживает списки, поэтому вы можете просто сделать это:
*/10 0-4,6-23 * * *
Используйте другую службу для выключения службы cron в это время. Может быть в?
Хотя идея Дэвида звучит ... проще.
Запланируйте сценарий обслуживания с помощью cron - позвольте сценарию выключить cron и в конце перезапустить его снова. Независимо от того, сколько времени займет ваш сценарий обслуживания, никакая работа не помешает. Как только это будет сделано, все снова будет хорошо, и вы, возможно, даже ничего не пропустили.
Чтобы разрешить сбой сценария обслуживания, запланируйте запуск службы cron через сейчас + x часов.