In che modo Ubuntu tiene traccia del flag "Riavvio del sistema richiesto" in motd?


78

Ho alcuni server Ubuntu (8.10, 9.10) che sono impostati per installare automaticamente gli aggiornamenti di sicurezza. Alcune volte questi aggiornamenti richiedono un riavvio del sistema e questa stringa viene mostrata in motd:

*** System restart required ***

Per avere un avviso al riguardo, ho intenzione di scrivere un test Nagios per monitorare se il server ha bisogno di un riavvio. Quindi, la mia domanda:

Esiste un modo migliore dell'analisi /etc/motdper scoprire se è necessario un riavvio?

Risposte:


95

Verificare la presenza di /var/run/reboot-required.


17
Nota: per i sistemi debian, /var/run/reboot-requirednon viene creato a meno che il update-notifier-commonpacchetto non sia installato.
Peter V. Mørch,

7
Nota che update-notifier-commonè stato rimosso in Debian Jessie. unattended-upgradesora include un semplice script /etc/kernel/postinst.d/unattended-upgradesche è touchil file. reboot-notifierè un altro piccolo pacchetto compatibile con il formato di update-notifier-common.
ypid

Potresti anche voler controllare i tuoi processi in esecuzione per vedere se un riavvio è già stato avviato. Ad esempio, gli aggiornamenti non presidiati hanno la possibilità di specificare un orario per il riavvio; fino a questo momento, il metodo sopra continuerà ad indicare che è necessario un riavvio, anche se uno è già stato avviato.
DylanYoung,

37

Lo script che genera la parte richiesta di riavvio di motd è / usr / lib / update-notifier / update-motd-reboot-richiesto che contiene:

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

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

Il tuo controllo nagios potrebbe verificare l'esistenza di / var / run / reboot-richiesto.


2
+1 per mostrare in quale file si trova
Wayne,

quello script di shell non sta generando nulla. Visualizza il contenuto se esiste
Scott

27

Inoltre, il file '/var/run/reboot-required.pkgs' elenca i pacchetti che hanno richiesto il riavvio. Per esempio:

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

Su Ubuntu Lucid (10.4).


Freaking grazie oh mio dio, mi sono perso così tanto!
Lapshin Dmitry,

8

I pacchetti Debian e Ubuntu possono innescare la creazione del /var/run/reboot-required*loro postinstfile eseguendo lo script helper/usr/share/update-notifier/notify-reboot-required

Pertanto, il manutentore del pacchetto gestisce il modo "ufficiale" di elaborare i riavvii. L'ho fatto in precedenza in uno script confrontando il tempo di avvio rispetto a mtimes in / 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.