Como o Ubuntu monitora o sinalizador "Reinicialização do sistema necessária" no motd?


78

Eu tenho alguns servidores Ubuntu (8.10, 9.10) configurados para instalar automaticamente as atualizações de segurança. Algumas vezes, essas atualizações exigem uma reinicialização do sistema, e essa sequência é mostrada em motd:

*** System restart required ***

Para receber um aviso sobre isso, planejo escrever um teste do Nagios para monitorar se o servidor precisa de uma reinicialização. Então, minha pergunta:

Existe uma maneira melhor do que analisar /etc/motdpara descobrir se uma reinicialização é necessária?

Respostas:


95

Verifique a presença de /var/run/reboot-required.


17
Nota: para sistemas debian, /var/run/reboot-requirednão é criado, a menos que o update-notifier-commonpacote esteja instalado.
Peter V. Mørch 27/01/12

7
Note que update-notifier-commonfoi removido no Debian Jessie. unattended-upgradesagora inclui um script simples /etc/kernel/postinst.d/unattended-upgradesque touches o arquivo. reboot-notifieré outro pequeno pacote que é compatível com o formato de update-notifier-common.
ypid 21/01

Você também pode verificar seus processos em execução para ver se uma reinicialização já foi iniciada. Por exemplo, atualizações autônomas têm a opção de especificar um horário para a reinicialização; até esse momento, o método acima continuará indicando que é necessária uma reinicialização, mesmo que uma já tenha sido iniciada.
DylanYoung

37

O script que gera a parte necessária para reinicialização do motd é / usr / lib / update-notifier / update-motd-reboot-required, que contém:

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

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

Sua verificação do nagios pode verificar a existência de / var / run / reboot-required.


2
+1 para mostrar em qual arquivo ele está localizado #
Wayne

esse script shell não está gerando nada. Ele exibe o conteúdo, se existir
Scott #

27

Além disso, o arquivo '/var/run/reboot-required.pkgs' lista os pacotes que solicitaram a reinicialização. Por exemplo:

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

No Ubuntu Lucid (10.4).


Muito obrigado, oh meu Deus, eu senti muita falta disso!
Lapshin Dmitry

8

Pacotes Debian e Ubuntu podem desencadear a criação de /var/run/reboot-required*seus postinstarquivos executando o script auxiliar/usr/share/update-notifier/notify-reboot-required

Assim, a maneira "oficial" de processar as reinicializações é tratada pelo mantenedor do pacote. Eu já fiz isso anteriormente em um script comparando o tempo inicializado com o mtimes no / 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.