Мне нужно сгенерировать уведомление по SMS / электронной почте, когда ИБП сервера заканчивает зарядку. У нас есть автомобильный аккумулятор, подключенный к материнской плате, который работает как ИБП (http://www.mini-box.com/M2-ATX-160w-Intelligent-Automotive-DC-DC-Power-Supply) Когда это устройство обнаруживает, что батарея снижает напряжение, оно посылает на материнскую плату импульс включения. Каким-то образом Ubuntu (я использую версию 11) определяет этот импульс и показывает экран, сообщающий, что через 60 секунд Ubuntu завершится. Мне нужно выполнить сценарий для вызова веб-службы, чтобы уведомить об этой ситуации. Как я могу поймать это предупреждение? Я также пробовал использовать сценарий в rc0.d, но он не вызывает мой WS (кажется, что сеть не работает до его выполнения). Как я могу альтернативно выполнить что-то на уровне запуска 0 до того, как сеть отключится?
Возможно, есть более чистый способ добиться этого, однако на моем Ubuntu 12.04 работает следующее (извините, у меня нет 11 под руками).
Под /etc/rc0.d
вы должны найти файл с именем S35networking
что на самом деле является ссылкой на /etc/init.d/networking
.
В этом файле найдите stop)
для case
оператор и добавьте сюда свою командную строку / скрипт, в первую строку. Он будет выполнен до того, как сетевая карта выйдет из строя.
например:
case "$1" in
start)
....
;;
stop)
send_sms_email
...
;;
....
esac
Подводя итог, предлагаю доработать систему. init.d
сетевой сценарий для добавления вашей команды на stop
мероприятие.
Это будет работать, но опять же, может быть, это не самый чистый способ ... это способ ...