Come posso sapere se un sistema Linux si è riavviato e determinare l'ora del riavvio guardando i registri di sistema, come /var/log/messages?
Come posso sapere se un sistema Linux si è riavviato e determinare l'ora del riavvio guardando i registri di sistema, come /var/log/messages?
Risposte:
Molto, molto facile. Il lastcomando viene analizzato/var/log/wtmp l'attività dell'utente incluso il riavvio pseudo-utente.
Usa il comando: last reboot
Vedi man lastper maggiori informazioni. http://linux.die.net/man/1/last
Lo pseudo utente riavvia l'accesso ogni volta che il sistema viene riavviato. Pertanto, l'ultimo riavvio mostrerà un registro di tutti i riavvii dalla creazione del file di registro.
Se il file / var / log / wtmp è stato ruotato dall'ultimo riavvio, è possibile visualizzare i riavvii precedenti utilizzando last -f /var/log/wtmp.1 reboot.
reboot system boot [kernel] [date]. Quindi questo ti sta dicendo quanto tempo fa va indietro wtmp e che non ci sono stati riavvii dall'inizio del log. Forse il registro è stato ruotato il 1 ° marzo?
Varia da distribuzione a distribuzione. A volte / var / log / {messaggi, syslog, dmesg} lo includerà. Per uno che ho appena riavviato, le mie ultime 2 righe e le prime dopo il riavvio sono:
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:
... e così via. Ciò mostra un normale arresto. Un arresto imprevisto potrebbe non dirti l'ora in cui è andato offline, ma puoi indovinare in base al divario tra l'ultimo messaggio e il primo a seconda di quanto è rumoroso il tuo sistema.
Digita il uptimecomando
Questo ti dirà da quanto tempo il tuo sistema è attivo, così come le medie di carico.
Modifica: puoi anche cercare un /var/log/kern.log. Questo dovrebbe contenere solo messaggi del kernel, quindi sarà più facile trovare i messaggi di avvio.
Cerca nei tuoi registri / var / log / messages o / var / log / boot il tempo di avvio del sistema. Un esempio da 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
Su Ubuntu, cerco la stringa \] Linux versionin /var/log/syslog.
Abbinerà le linee che assomigliano a questo:
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