У меня есть следующий синтаксис (который я считаю правильным?), Но он запускает команду каждую минуту!
* */4 * * * /cmd.sh
0 0,4,8,12,16,20 * * * /cmd.sh
Наверное, так я и сделаю. Это будет запускать работу каждые 4 часа, в часы 00:00, 04:00, 08:00, 12:00, 16:00, 20:00.
Это просто более подробный способ написания */4, но он должен работать так же.
Исходное сообщение до редактирования показывало конфигурацию как:
Постер не был знаком с Markdown и поставил звездочку в первом столбце, в результате чего он появился в виде маркера. Я отредактировал их пост, чтобы отразить то, что они намеревались опубликовать:
* */4 * * * /cmd.sh
В этой конфигурации постер получит поведение, которое они наблюдали: задание будет выполняться раз в минуту в течение часов, которые делятся на 4.
Чтобы избежать запуска один раз в минуту, в первом столбце необходимо число, например:
15 * * * * whatever...
Это будет работать на 15-й минуте после каждого часа.
Собираем все вместе: для запуска раз в час в часы, которые делятся на 4, используйте следующий синтаксис:
15 */4 * * * whatever...
Выполните crontab -e, а затем добавьте следующую запись
0 */4 * * * path_to_the_script
Это будет сценарий каждые 4 часа.
Проблема * в первом столбце
'* */2 * * */path-to-script'
это означает запуск каждую минуту часа, но только каждые 2 часа