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

задание cron выполняется каждую минуту, но должно выполняться каждые 4 часа

Примечание: я просмотрел cron: невозможно заблокировать /var/run/crond.pid, otherpid может быть 3759 но я считаю, что мой вопрос другой (но с той же самой проблемой).

Я новичок в cron. Я настраиваю сценарий для запуска сценария Python каждую минуту, чтобы проверить, все ли работает. Я использовал crontab для этого. Он отлично работал, поэтому я хотел переключать его на работу каждые 4 часа.

Я изменил свой * * * * * {...} к * */4 * * * {...} но работа продолжает выполняться каждую минуту. Так было в последний час или около того.

Когда я пытаюсь бежать cron restart (думая, что это решит проблему), я получаю следующее сообщение об ошибке:

cron: невозможно заблокировать /var/run/crond.pid, otherpid может быть 2311: ресурс временно недоступен

У меня неправильный синтаксис cron? И почему я не могу перезапустить cron?

Ваш синтаксис должен быть

0 */4 * * * <command>

А * в поле минут заставляет его запускаться каждую минуту, как вы испытываете. Ноль приведет к тому, что он будет работать через 0 минут после часа каждые 4 часа.

Не уверен, почему вы не можете перезапустить cron; возможно, ваша задача cron - атаковать вашу машину.

Вы буквально имеете в виду, что набрали «cron restart», чтобы перезапустить cron? Вероятно, вам следует использовать сценарий инициализации: /etc/init.d/cron restart. Я подозреваю, что вы видите результат попытки запуска cron-сервера (т.е. игнорирование аргумента «перезапуск»).