断电恢复后发送通知吗?

断电恢复后发送通知吗?

问题:

我已将服务器的 BIOS 设置为断电后自动恢复最后状态(运行/关闭)。

现在,当系统断电恢复时,我如何给自己发送电子邮件?

我知道这是可能的,因为我的 Synology Diskstation 可以做到这一点(这也是我最初产生这个想法的原因)。遗憾的是,我无法逆向分析它是如何做到的。

答案1

添加 RC 脚本或等效脚本。让它在正常关机时接触文件。在启动时,让它检查文件,如果文件不存在则发送电子邮件。例如:

#!/bin/bash

SHUTDOWNFILE=/etc/normalshutdown

if [ ${1} = "stop" ] then touch "${SHUTDOWNFILE}"
elif [ ${1} = "start" ] 
then 
    if [ ! -e "${SHUTDOWNFILE}" ] 
    then 
        mail -s "Power failure, recovered" [email protected]
    else
        rm "${SHUTDOWNFILE}"
    fi
fi

(您可能需要对其进行调试,并注意安全性,以避免意外地授予用户创建与此冲突的文件的权限)

答案2

只需添加如下内容即可/etc/rc.local

echo "Subject: `/bin/hostname` has booted @ `date '+%Y/%m/%d %H:%M:%S'`"|/usr/lib/sendmail -i [email protected]

这将发送电子邮件每一个启动时,而不仅仅是断电后。如果您只想在断电后发送电子邮件,则需要更多逻辑。就我个人而言,我喜欢知道我的某个服务器何时重新启动 - 特别是如果它不是故意重新启动。

答案3

您需要在系统硬件上安装内部 IPMI(可以通过电子邮件报告断电和硬件故障)

其次,我认为最重要的是...检查系统健康状况的外部系统。

Nagios 和 Cacti 都提供这些功能。Cacti
实际上是两者中比较简单的一个(Nagios 的维护起来相当复杂)使用 SNMP 或简单的 ping。(也可以是其他服务)

基本上,该工具允许您每隔(确定的)分钟进行轮询...以获得响应...在(确定的)失败后,它会向您发送一封电子邮件...

这是典型的系统管理员通知工具集。:D

相关内容