[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: обработка ошибки от init.d






11 мая 2013 г., 14:02 пользователь Dmitry A. Zhiglov <dmitry.zhiglov@gmail.com> написал:
Доброго времени суток,

Есть работающий slapd, который надо время от времени перезагружать.
Написан скрипт, который выполняет следущее:

1) выполняет "/etc/init.d/slapd stop"
2) в цикле проверяет "остановился ли slapd?"
^^^^^^^^^^^^

А это точно нужно?

Не будет ли более правильным что-то типа такого:

try_stop=`/etc/init.d/slapd stop`
stop_status=$?

и далее анализировать статус остановки


3) если НЕ остановился, то проверить через 1 минуту
4) если Остановился, то выполнить задачу
5) если НЕ остановился спустя 20 попыток - отправить алерт

Бывает, что "/etc/init.d/slapd stop" завершается с ошибкой. Ошибка,
как правило, результат до-о-олгого завершения самого slapd, спустя ~5
минут сервис останавливается корректно, но init.d уже не работает...

Самое печальное в этом алгоритме, что когда завершается с ошибкой
"/etc/init.d/slapd stop" то и мой скрипт так же завершается с ошибкой
и алгоритм завершается на шаге No.2

Вопрос: как корректно и правильней перехватить ошибку от init.d
скрипта, что бы не остановился мой скрипт (на bash), а шаг No.5 отправил
уведомление?

С уважением,
Дима


Reply to: