Ubuntu는 motd에서 “시스템 재시작 필요”플래그를 어떻게 추적합니까? 설치하도록 설정된 몇 가지

보안 업데이트를 자동으로 설치하도록 설정된 몇 가지 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
$

우분투 루시드 (10.4).


답변

데비안 및 우분투 패키지는 도우미 스크립트를 실행하여 파일 /var/run/reboot-required*에서 생성을 트리거 할 수 있습니다.postinst/usr/share/update-notifier/notify-reboot-required

따라서 재부팅을 처리하는 “공식적인”방법은 패키지 관리자가 처리합니다. 이전에 / 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