Третье поле cron, похоже, не работает (работа выполняется, когда я этого не хочу)

Я назначил такую ​​работу:

* * 6-8 * 1-5 echo "test" >>/tmp/test.log 2>&1 

Я ожидаю, что эта работа будет работать только на 6, 7, 8, 3 дня. но сегодня он 18-й, он все еще работает. Что не так с этой работой? Что мне делать, если я хочу, чтобы он запускал определенные дни?

2 Solutions collect form web for “Третье поле cron, похоже, не работает (работа выполняется, когда я этого не хочу)”

Позиции дня и дня недели OR'd, поэтому в вашем примере cron будет работать на 6, 7, 8 или с понедельника по пятницу. С 18-го понедельника он проходит. Это не совсем интуитивно.

Чтобы получить такое поведение, которое, я думаю, вам нужно (бегите на 6, 7 и 8 числах, если они являются будним днем), вы можете сделать что-то вроде этого:

 * * * * 1-5 date '+%d' | grep '[678]' && echo "test" >>/tmp/test.log 2>&1 

Определены спецификация дня месяца (поле-3, один-относительный) и поле месяца (5). В этом случае совпадение означает, что ваш crontab работает.

  • Вызов скриптов из других скриптов
  • По умолчанию umask для заданий cron
  • Почему мои пользовательские файлы crontab неизменяемы и не выполняются даже после изменения атрибута на mutable?
  • Автоматизация резервных копий выполняется из сценария bash в Linux правильным способом
  • Запуск процесса в заданном временном окне
  • Как узнать, работает ли crontab?
  • Помимо crontab, какие другие способы можно добавить программы для запуска во время загрузки?
  • Прочитайте каждый каталог и выполните действия в скрипте Bash
  • Что может привести к тому, что cron будет работать дважды в тот же момент?
  • Как отобразить диалоговое окно (zenity / GUI) пользователю после завершения задачи cron cron
  • Добавление метки времени в файл журнала с помощью команды cronjob
  • Linux и Unix - лучшая ОС в мире.