Скрипт перед выключением при включенной сети

Мне нужно сгенерировать оповещение по 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 событие.

Это будет работать, но, опять же, это может быть не самый чистый путь... это путь...

Другие вопросы по тегам