Bagaimana saya bisa tahu jika suatu sistem reboot dan juga waktu reboot dengan melihat log sistem?

14

Bagaimana saya bisa tahu jika sistem Linux reboot dan menentukan waktu reboot dengan melihat log sistem, seperti /var/log/messages?

Jack Z
sumber
Reboot bagaimana? Melalui perintah konsol? Kehilangan daya? Kegagalan perangkat keras?
devicenull
@devicenull: Saya pikir itu harus semua di atas, karena itu berguna untuk menjawab pertanyaan seperti "Kapan kekuatan kembali hidup lagi?" "Insinyur itu melakukan APA? Kapan ini terjadi?"
Stefan Lasiewski

Jawaban:

24

Sangat, sangat mudah. The lastPerintah mem-parsing /var/log/wtmpuntuk aktivitas pengguna termasuk pseudo-pengguna reboot.

Gunakan perintah: last reboot

Lihat man lastuntuk informasi lebih lanjut. http://linux.die.net/man/1/terakhir

Log reboot pengguna pseudo di setiap kali sistem reboot. Jadi reboot terakhir akan menampilkan log semua reboot sejak file log dibuat.

Jika file / var / log / wtmp diputar sejak reboot terakhir Anda, Anda mungkin dapat melihat reboot sebelumnya dengan menggunakan last -f /var/log/wtmp.1 reboot.

Aaron Copley
sumber
Hai Aaron, terima kasih atas bantuan Anda! Saya mencoba "reboot terakhir" pada sistem saya dan mendapatkan ini: "wtmp dimulai Kamis 1 Maret 11:10:40 2012", namun "uptime" memberi saya ini: "17:29:21 hingga 6 hari, 9:24, 7 pengguna, rata-rata muat: 0,00, 0,01, 0,05 ". Waktu saat ini di sistem saya adalah 17:31 1 Maret, MST. Jadi sepertinya "reboot terakhir" mengira sistem di-boot ulang kurang dari sehari yang lalu, yang tidak benar-benar benar ... Bisakah Anda ceritakan lebih lanjut tentang bagaimana "terakhir" menentukan waktu reboot? Terima kasih!
Jack Z
2
Stempel waktu itu tidak menunjukkan reboot. Anda akan melihat garis yang terlihat seperti reboot system boot [kernel] [date]. Jadi ini memberitahu Anda seberapa jauh wtmp berjalan kembali dan tidak ada reboot sejak log dimulai. Mungkin log diputar pada 1 Maret?
Aaron Copley
Itu pasti lol Saya mencoba beberapa sistem lain dan beberapa dari mereka memang menunjukkan garis-garis seperti ini: reboot sistem boot 2.6.27.19-5-defa Thu 14 Juli 04:10 (64 + 12: 37). Terima kasih banyak!
Jack Z
9

Ini bervariasi dari distribusi ke distribusi. Terkadang / var / log / {messages, syslog, dmesg} akan memasukkannya. Untuk yang baru saja saya reboot, 2 baris terakhir saya dan yang pertama setelah reboot adalah:

Feb 29 13:16:07 hostname kernel: Kernel logging (proc) stopped.
Feb 29 13:16:07 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="592" x-info="http://www.rsyslog.com"] exiting on signal 15.
Feb 29 13:23:15 hostname kernel: imklog 5.8.1, log source = /proc/kmsg started.
Feb 29 13:23:15 hostname rsyslogd: [origin software="rsyslogd" swVersion="5.8.1" x-pid="572" x-info="http://www.rsyslog.com"] start
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's groupid changed to 103
Feb 29 13:23:15 hostname rsyslogd: rsyslogd's userid changed to 101
Feb 29 13:23:15 hostname rsyslogd-2039: Could no open output pipe '/dev/xconsole' [try http://www.rsyslog.com/e/2039 ]
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpuset
Feb 29 13:23:15 hostname kernel: [    0.000000] Initializing cgroup subsys cpu
Feb 29 13:23:15 hostname kernel: [    0.000000] Linux version 3.0.0-12-server (buildd@crested) (gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3) ) #20-Ubuntu SMP Fri Oct 7 16:36:30 UTC 2011 (Ubuntu 3.0.0-12.20-server 3.0.4)
Feb 29 13:23:15 hostname kernel: [    0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.0.0-12-server root=/dev/mapper/hostname-root ro
Feb 29 13:23:15 hostname kernel: [    0.000000] KERNEL supported cpus:
Feb 29 13:23:15 hostname kernel: [    0.000000]   Intel GenuineIntel
Feb 29 13:23:15 hostname kernel: [    0.000000]   AMD AuthenticAMD
Feb 29 13:23:15 hostname kernel: [    0.000000]   Centaur CentaurHauls
Feb 29 13:23:15 hostname kernel: [    0.000000] Disabled fast string operations
Feb 29 13:23:15 hostname kernel: [    0.000000] BIOS-provided physical RAM map:

... dan seterusnya. Itu menunjukkan shutdown normal. Shutdown yang tidak terduga mungkin tidak memberi tahu Anda saat itu offline, tetapi Anda dapat menebak berdasarkan jeda antara pesan terakhir dan yang pertama tergantung pada seberapa berisik sistem Anda.

Jeff Ferland
sumber
Terima kasih atas bantuan Anda! Jadi bisakah saya mengandalkan "kernel: [0,000000]" sebagai indikator untuk reboot sistem?
Jack Z
5

Ketikkan uptimeperintah.

Ini akan memberi tahu Anda berapa lama sistem Anda telah naik, serta memuat rata-rata.

Sunting: Anda juga dapat mencari /var/log/kern.log. Ini seharusnya hanya berisi pesan kernel, sehingga akan lebih mudah untuk menemukan pesan booting.

InChargeOfIT
sumber
Catatan: Jika server ini penting, Anda harus mempertimbangkan untuk mengimplementasikan server syslog terpusat dengan sesuatu seperti Nagios untuk memantau kesehatan sistem dan mengingatkan Anda tentang gangguan. Saya menggunakan dan menyukai AlienVault, yang meliputi (komponen bersifat opsional): server syslog, nagios, deteksi intrusi, pemindai kerentanan, pelacakan aset, dan banyak lagi.
InChargeOfIT
2

Lihat di / var / log / messages atau / var / log / log boot untuk waktu boot sistem. Contoh dari CentOS 6 ...

Feb 28 23:05:56 dev0 kernel: imklog 4.6.2, log source = /proc/kmsg started.
Feb 28 23:05:56 dev0 rsyslogd: [origin software="rsyslogd" swVersion="4.6.2" x-pid="1557" x-info="http://www.rsyslog.com"] (re)start
putih
sumber
1

Di Ubuntu, saya mencari string \] Linux versiondi /var/log/syslog.

Ini akan cocok dengan garis yang terlihat seperti ini:

27 Jun 2017 12:33:42.268 Hostname:my-hostname : [ 0.000000] Linux version 3.13.0-100-generic (buildd@lgw01-52) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #147-Ubuntu SMP Tue Oct 18 16:48:51 UTC 2016 (Ubuntu 3.13.0-100.147-generic 3.13.11-ckt39) Context
Teemu Leisti
sumber