一行命令查看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后表示系统到目前运行了多久时间。反过来推算系统重启时间文章来源:https://www.toymoban.com/news/detail-444865.html
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文章来源地址https://www.toymoban.com/news/detail-444865.html
[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
到了这里,关于一行命令查看Linux系统重启时间和相关记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!