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