我该如何判断Linux系统是否重新启动,并通过查看系统日志(例如/var/log/messages来确定重新启动的时间?
非常非常容易 last命令parsing/var/log/wtmp用户活动,包括伪用户重启。
使用命令: last reboot
有关更多信息,请参见man last http://linux.die.net/man/1/last
每当系统重新启动时,伪用户重新启动日志。 因此,最后一次重新启动将显示自日志文件创build以来所有重新启动的日志。
如果/ var / log / wtmp文件自上次重新启动后已被轮换,则可以使用last -f /var/log/wtmp.1 reboot来查看以前的重新last -f /var/log/wtmp.1 reboot 。
它从分配到分配都不相同。 有时/ var / log / {messages,syslog,dmesg}会包含它。 对于我刚刚重新启动,我最后2行和重新启动后的第一个是:
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:
… 等等。 这显示正常关机。 一个意外的关机可能不会告诉你它离线的时间,但你可以根据最后的消息和第一个消息之间的差距来猜测,这取决于你的系统有多大的噪音。
inputuptime命令。
这将告诉你系统已经运行了多久,以及加载平均值。
编辑:你也可以找一个/var/log/kern.log。 这应该只包含内核消息,所以它将更容易find启动消息。
在/ var / log / messages或/ var / log / boot日志中查看系统引导的时间。 一个来自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
在Ubuntu上,我在/var/log/syslog查找string\] Linux version 。
它会匹配看起来像这样的行:
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