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