Bagaimana Ubuntu melacak flag “Diperlukan System Restart” di motd?


78

Saya memiliki beberapa server Ubuntu (8,10, 9,10) yang diatur untuk secara otomatis menginstal pembaruan keamanan. Beberapa kali pembaruan ini memerlukan restart sistem, dan string ini ditampilkan di motd:

*** System restart required ***

Untuk mendapatkan pemberitahuan tentang ini, saya berencana untuk menulis tes Nagios untuk memonitor jika server membutuhkan reboot. Jadi, pertanyaan saya:

Apakah ada cara yang lebih baik daripada parsing /etc/motduntuk mencari tahu apakah reboot diperlukan?

Jawaban:


95

Periksa keberadaan /var/run/reboot-required.


17
Catatan: untuk sistem debian, /var/run/reboot-requiredtidak dapat dibuat kecuali update-notifier-commonpaket diinstal.
Peter V. Mørch

7
Catatan yang update-notifier-commontelah dihapus di Debian Jessie. unattended-upgradessekarang termasuk skrip sederhana /etc/kernel/postinst.d/unattended-upgradesyang touchmerupakan file. reboot-notifieradalah paket kecil lain yang kompatibel dengan format update-notifier-common.
ypid

Anda mungkin juga ingin memeriksa proses yang sedang berjalan untuk melihat apakah reboot telah dimulai. Misalnya, peningkatan tanpa pengawasan memiliki opsi untuk menentukan waktu untuk reboot; hingga saat ini, metode di atas akan terus menunjukkan bahwa diperlukan reboot, walaupun sudah dimulai.
DylanYoung

37

Script yang menghasilkan bagian reboot yang diperlukan dari motd adalah / usr / lib / update-notifier / update-motd-reboot-required yang berisi:

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

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

Pemeriksaan nagios Anda dapat memeriksa keberadaan / var / run / reboot-diperlukan.


2
+1 untuk menunjukkan file ini berada di mana
Wayne

script shell itu tidak menghasilkan apa-apa. Ini menampilkan konten jika ada
Scott

27

Selain itu file '/var/run/reboot-required.pkgs' berisi daftar paket yang meminta reboot. Sebagai contoh:

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

Di Ubuntu Lucid (10.4).


Freaking terima kasih oh my god aku sangat merindukan itu!
Lapshin Dmitry

8

Paket Debian dan Ubuntu dapat memicu pembuatan /var/run/reboot-required*di postinstfile mereka dengan mengeksekusi skrip pembantu/usr/share/update-notifier/notify-reboot-required

Jadi cara "resmi" untuk memproses reboot ditangani oleh pengelola paket. Saya telah melakukannya sebelumnya dalam sebuah skrip dengan membandingkan waktu boot terhadap mtimes di / 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.