一行命令查看Linux系统重启时间和相关记录

一行命令查看Linux系统重启时间和相关记录。

系统启动时间并转换为秒:

date -d "$(who -b | awk -F' ' '{print $(NF-1),$NF}')" +%s

当前时间并转换为秒:

date +%s

使用当前时间减去启动时间,可以得到系统的运行时间。


举例:假如系统重启后,10分钟内,判断为系统重启,否则判断为运行状态。很多服务和应用可以根据系统重启后,进行相应的初始化操作。判断脚本如下:

result=$(uptime | grep min)
if [ "$result" ];then
result=$(echo $result | awk -F' ' '{print $3}')
if [ $result -lt 10 ];then
echo "reboot"
else
echo "running"
fi
else
echo "running"
fi

更多获取Linux系统运行记录的方法如下:

查看linux的重启记录:

last | grep reboot

与之类似可以查看Linux的关机记录:

last | grep shutdown

1、who -b命令 查看最后一次(上次)系统启动的时间

[root@cy_centos7 ~]# who -b
system boot  2020-06-12 17:44

2、who -r命令 查看最后一次(上次)系统启动的时间,及运行级别

[root@cy_centos7 ~]# who -r
run-level 5  2020-06-12 17:44

3、last reboot命令

[root@cy_centos7 ~]# last reboot

reboot   system boot  3.10.0-957.12.2. Fri Jun 12 17:44 - 10:21 (20+16:37)  
reboot   system boot  3.10.0-957.12.2. Fri Jun 12 09:28 - 10:21 (21+00:53)  
reboot   system boot  3.10.0-957.12.2. Mon Jun  8 15:27 - 16:02  (00:35)    
reboot   system boot  3.10.0-957.12.2. Wed May 27 11:41 - 20:49  (09:08)    
reboot   system boot  3.10.0-957.12.2. Tue May 19 09:52 - 20:49 (8+10:57)   
reboot   system boot  3.10.0-957.12.2. Fri May 15 15:42 - 20:04  (04:21)    
reboot   system boot  3.10.0-957.12.2. Tue May 12 23:01 - 20:04 (2+21:02)   
reboot   system boot  3.10.0-957.12.2. Fri May  8 21:30 - 10:40  (13:09)    
reboot   system boot  3.10.0-957.12.2. Wed Apr 22 23:29 - 07:43  (08:13)    
...
reboot   system boot  3.10.0-957.el7.x Tue May 21 01:49 - 22:30 (1+20:41)   
reboot   system boot  3.10.0-957.el7.x Tue May 14 19:20 - 22:30 (8+03:10)   
reboot   system boot  3.10.0-957.el7.x Fri May 10 17:38 - 22:30 (12+04:52)  
reboot   system boot  3.10.0-957.el7.x Fri May 10 07:19 - 22:30 (12+15:10)  
reboot   system boot  3.10.0-957.el7.x Fri May 10 07:09 - 22:30 (12+15:21)  
reboot   system boot  3.10.0-957.el7.x Fri May 10 06:50 - 22:30 (12+15:40)  

wtmp begins Fri May 10 06:50:03 2019

4、top命令

top - 10:24:02 up 1 day, 38 min,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 181 total,   1 running, 180 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.6 us,  0.0 sy,  0.0 ni, 98.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0
KiB Mem :  3861508 total,  2981100 free,   424308 used,   456100 buff/cach
KiB Swap:  2097148 total,  2097148 free,        0 used.  3127716 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ 
     1 root      20   0  191256   4152   2600 S   0.0  0.1   0:06.77 
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.08 
     3 root      20   0       0      0      0 S   0.0  0.0   0:01.44 
     5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.27 

5、w命令 up后表示系统到目前运行了多久时间。反过来推算系统重启时间

 10:24:35 up 1 day, 38 min,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.100.1    10:20    3.00s  0.03s  0.00s w

6、uptime命令及查看/proc/uptime

[root@cy_centos7 ~]# uptime 
 10:25:11 up 1 day, 39 min,  1 user,  load average: 0.00, 0.01, 0.05

[root@cy_centos7 ~]# date -d "`cut -f1 -d. /proc/uptime` seconds ago"
Thu Jul  2 09:45:44 CST 2020
[root@cy_centos7 ~]# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S" 
2020-07-02 09:45:44
  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值