J'ai quelques serveurs Ubuntu (8.10, 9.10) qui sont configurés pour installer automatiquement les mises à jour de sécurité. Parfois, ces mises à jour nécessitent un redémarrage du système, et cette chaîne est affichée dans motd
:
*** System restart required ***
Pour obtenir un avis à ce sujet, j'ai l'intention d'écrire un test Nagios pour surveiller si le serveur a besoin d'un redémarrage. Donc, ma question:
Existe-t-il un meilleur moyen que d'analyser /etc/motd
pour savoir si un redémarrage est nécessaire?
Vérifiez la présence de /var/run/reboot-required
.
Le script qui génère la partie de redémarrage requise de motd est/usr/lib/update-notifier/update-motd-reboot-required qui contient:
#!/bin/sh -e
#
# helper for update-motd
if [ -f /var/run/reboot-required ]; then
cat /var/run/reboot-required
fi
Votre vérification nagios pourrait vérifier l'existence de/var/run/reboot-required.
De plus, le fichier '/var/run/reboot-required.pkgs' répertorie les packages qui ont demandé le redémarrage. Par exemple:
$ cat /var/run/reboot-required.pkgs
linux-image-2.6.32-28-generic
dbus
$
Sur Ubuntu Lucid (10.4).
Les packages Debian et Ubuntu peuvent déclencher la création de /var/run/reboot-required*
dans leur fichier postinst
en exécutant le script d'aide /usr/share/update-notifier/notify-reboot-required
Ainsi, la façon "officielle" de traiter les redémarrages est gérée par le responsable du package. Je l'ai fait précédemment dans un script en comparant le temps démarré avec mtimes dans/boot.
#!/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