我有几个 Ubuntu 服务器(8.10、9.10)设置为自动安装安全更新。有时这些更新需要重新启动系统,此字符串显示为motd
:
*** System restart required ***
为了获得有关这些的通知,我计划编写一个 Nagios 测试来监视服务器是否需要重新启动。所以,我的问题是:
有没有比解析更好的方法/etc/motd
来查明是否需要重新启动?
答案1
检查是否存在/var/run/reboot-required
。
答案2
生成 motd 重启所需部分的脚本是 /usr/lib/update-notifier/update-motd-reboot-required,其中包含:
#!/bin/sh -e
#
# helper for update-motd
if [ -f /var/run/reboot-required ]; then
cat /var/run/reboot-required
fi
您的 nagios 检查可以检查 /var/run/reboot-required 是否存在。
答案3
此外,文件“/var/run/reboot-required.pkgs”列出了请求重启的软件包。例如:
$ cat /var/run/reboot-required.pkgs
linux-image-2.6.32-28-generic
dbus
$
在 Ubuntu Lucid (10.4) 上。
答案4
#!/bin/bash
if [ ! -f /var/run/reboot-required ]; then
# no reboot required (0=OK)
echo "OK: no reboot required"
exit 0
else
# reboot required (1=WARN)
echo "WARNING: `cat /var/run/reboot-required`"
exit 1
fi