¿Cómo realiza Ubuntu un seguimiento del indicador "Se requiere reiniciar el sistema" en motd?


78

Tengo algunos servidores Ubuntu (8.10, 9.10) que están configurados para instalar automáticamente actualizaciones de seguridad. Algunas veces estas actualizaciones requieren un reinicio del sistema, y ​​esta cadena se muestra en motd:

*** System restart required ***

Para recibir un aviso sobre estos, planeo escribir una prueba de Nagios para monitorear si el servidor necesita reiniciar. Entonces, mi pregunta:

¿Hay una mejor manera que analizar /etc/motdpara saber si es necesario reiniciar?

Respuestas:


95

Verifique la presencia de /var/run/reboot-required.


17
Nota: para sistemas debian, /var/run/reboot-requiredno se crea a menos que el update-notifier-commonpaquete esté instalado.
Peter V. Mørch

77
Tenga en cuenta que update-notifier-commonse ha eliminado en Debian Jessie. unattended-upgradesahora incluye un script simple /etc/kernel/postinst.d/unattended-upgradesque touches el archivo. reboot-notifieres otro paquete pequeño que es compatible con el formato de update-notifier-common.
ypid

También es posible que desee verificar sus procesos en ejecución para ver si ya se ha iniciado un reinicio. Por ejemplo, las actualizaciones desatendidas tienen la opción de especificar un momento para reiniciar; hasta este momento, el método anterior continuará indicando que se requiere un reinicio, aunque ya se haya iniciado.
DylanYoung

37

El script que genera la parte de reinicio requerida de motd es / usr / lib / update-notifier / update-motd-reboot-required que contiene:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
fi

Su verificación de nagios podría verificar la existencia de / var / run / reboot-required.


2
+1 para mostrar en qué archivo se encuentra este
Wayne

ese script de shell no genera nada. Muestra el contenido si existe
Scott

27

Además, el archivo '/var/run/reboot-required.pkgs' enumera los paquetes que solicitaron el reinicio. Por ejemplo:

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

En Ubuntu Lucid (10.4).


Maldita sea, gracias, Dios mío, ¡me lo perdí tanto!
Lapshin Dmitry

8

Los paquetes Debian y Ubuntu pueden desencadenar la creación de /var/run/reboot-required*su postinstarchivo ejecutando el script auxiliar/usr/share/update-notifier/notify-reboot-required

Por lo tanto, la forma "oficial" de procesar reinicios es manejada por el responsable del paquete. Lo he estado haciendo anteriormente en un script al comparar el tiempo de arranque con mtimes en / boot.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.