当前位置: 首页>>技术教程>>正文


Ubuntu如何跟踪motd中的“System restart required”标志?

问题描述

我有一些Ubuntu服务器(8.10、9.10)被设置为自动安装安全更新。有时,这些更新需要重新启动系统,并且此字符串显示在motd中:

*** System restart required ***

为了获得有关这些消息的通知,我计划编写一个Nagios测试来监视服务器是否需要重新启动。所以,我的问题是:

是否有比解析/etc/motd更好的方法来找出是否需要重新启动?

最佳方案

检查是否存在/var/run/reboot-required

次佳方案

生成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。

第三种方案

此外,文件’/var/run/reboot-required.pkgs’列出了请求重新启动的软件包。例如:

$ cat /var/run/reboot-required.pkgs 
linux-image-2.6.32-28-generic
dbus
$

在Ubuntu Lucid(10.4)上。

第四种方案

Debian和Ubuntu软件包可以通过执行帮助脚本/usr/share/update-notifier/notify-reboot-required来触发postinst文件中/var/run/reboot-required*的创建。

因此,程序包维护者将使用”official”处理重启的方式。我以前在脚本中通过比较/boot中的启动时间与mtimes来进行此操作。

第五种方案

#!/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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11384.html,未经允许,请勿转载。