Доброго времени суток,
Есть работающий slapd, который надо время от времени перезагружать.
Написан скрипт, который выполняет следущее:
1) выполняет "/etc/init.d/slapd stop"
2) в цикле проверяет "остановился ли slapd?"
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 отправил
уведомление?
С уважением,
Дима