关机前运行脚本并开启网络

关机前运行脚本并开启网络

当服务器的 UPS 充电完成时,我需要生成一条短信/电子邮件警报。我们有一个连接到主板的汽车电池,用作 UPS(http://www.mini-box.com/M2-ATX-160w-Intelligent-Automotive-DC-DC-Power-Supply) 当此设备检测到电池电压降低时,它会向主板发送一个 ON 脉冲。Ubuntu(我使用的是版本 11)不知何故检测到了此脉冲并显示一个屏幕,告知 ubuntu 将在 60 秒内关闭。我需要执行一个脚本来调用 web 服务来通知这种情况。我该如何捕获该警报?我也尝试过在 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

它会起作用,但再一次它可能不是最干净的方法...但它是一种方法...

相关内容