一台服务器业务中断,发现系自动重启,于是查了下原因:
查看重启时间:
# last reboot
# history
发现历史记录只有1K条,而且没有时间显示,于是重新配置了下history:
# vi /root/.bashrc
#export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
export HISTTIMEFORMAT=‘%F %T’
export HISTSIZE=99999
重新显示了一下,虽然历史记录还是1K条,但已经有时间了。看了下,重启相关的位置没有重启命令,就是不是人为操作的了。
那接着查一下日志:
#journalctl -p alert..err -b
发现有提示:
Nov 22 08:54:34 localhost smartd[909]: DEVICESCAN failed: glob(3) aborted matching pattern /dev/discs/disc*
这个意思是说:909这个PID进程中的glob(3)语句出现严重错误,需要联系开发进行查看处置了。
-----------------------------------------------------------------
、查看所有日志
# journalctl
、查看内核日志(不显示应用日志)
# journalctl -k
、查看系统本次启动的日志
journalctl -b
、查看上一次启动的日志
需要修改配置文件 /etc/systemd/journald.conf
# journalctl -b -1
、跟踪日志:
#journalctl -f
、只显示冲突、告警和错误:
#journalctl -p err..alert
、显示某个单元日志(也可以同时显示多个增加多个 -u nginx.service -u php-fom.service):journalctl -u nginx.service
、根据时间查找:
journalctl --since "20 min ago" #查找20分钟前的日志
journalctl --since today #查找今天的日志
journalctl --until 2020-05-27 #查找2020-05-27日期的日志
、查找指定客户(UID)日志:journalctl _UID=1000
、#通过进程ID实现查询,需要指定_PID字段
# journalctl _PID=909
、查看指定用户的日志
#journalctl _UID=33 --since today
、查看指定服务的日志
#journalctl /usr/lib/systemd/systemd
、实时滚动显示某个Unit的最新日志
#journalctl -u nginx.service -f
、使用journalctl配合-p选项显示特定优先级的信息,从而过滤掉优先级较低的信息。
由最高到最低优先级:
0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug
#journalctl -p cri..err -b