Установка времени ожидания для заданий cron


11

Поддерживает ли Ubuntu Linux cron (Vixie cron) время ожидания для своих заданий?

В частности, процесс будет завершен через X секунд, если к тому времени он не завершится успешно.

У меня были некоторые случаи, когда задачи зависали из-за сетевого подключения и различных проблем. Процесс останется навсегда, если вы не уберете их вручную.

Ответы:


26

В Ubuntu существует тайм-аут команды , который является частью coreutils. Вы можете использовать это, чтобы установить тайм-аут. Более старые версии Debian / Ubuntu не собирались и не включали эту команду, но есть сопоставимый timeoutпакет, который вы можете установить.

# puppet shouldn't take more then 40 minutes!
47 * * * * root /usr/bin/timeout 2400 /usr/bin/puppet agent ...

3
Длительность также может иметь суффикс («s» для секунд, «m» для минут, «h» для часов и «d» для дней). Таким образом, для лучшей читаемости, вышеприведенное также может быть записано как 47 * * * * root / usr / bin / timeout 40m / usr / bin / puppet agent ...
smoove666

Нет, не может. по крайней мере, не с реализацией, которую я имел при написании этого вопроса. Новая версия в coreutils имеет суффикс s. Версия, которую я имел на старых системах Debian, не была.
Зоредаче

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.