使用journalctl查看系统日志

参考链接:https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs

日志文件有利于查看进程的执行状态,查明中途出现的问题等。以往,每个服务进程在运行前,一般都要先配置该服务在哪个目录写入日志文件。由于每个服务可以设置不同的日志文件路径,所以日志文件可能分布在硬盘的各个路径下。同时,由于日志不断输出,占用空间较多,所以一般会需要对日志文件进行拆分和压缩等工作,这部分逻辑不同服务需要单独实现,重复劳动较多。

目前,systemd 已经成为 Unix/Linux 系统中进程管理的标准之一,伴随进程管理功能一起的,是统一管理进程日志的 journald 服务进程。使用 systemd 运行的服务,服务执行过程中输出到标准输出和错误输出的文本都会被 journald 进程收集起来,统一管理。

常用场景和对应的执行方法如下:

  • 查看最近一次的启动日志:journalctl -b,使用 root 权限可以查看完整的日志。journalctl --list-boots 可以列出最近几次的启动日志列表,journalctl -b -1 可以显示指定的启动日志,其中的 1 为在列表中显示的次序
  • 查看指定时间段内的日志:journalctl --since "2015-01-10" --until "2015-01-11 03:00",其中,时间可以写具体的时间点,也可以写诸如 yesterdaytodaytomorrow1 hour ago 类似的语句。
  • 查看指定服务单元的日志:journalctl -u nginx.service -u php-fpm.service --since today,时间筛选可以和服务单元日志一起起筛选作用。
  • 按进程ID筛选日志:journalctl _PID=8088,其中 8088 可以为任意进程号
  • 按用户ID筛选日志:journalctl _UID=33,其中 33 为用户 ID
  • 查看最近100条日志:journalctl -n 100
  • 查看日志总的磁盘占用空间:journalctl --disk-usage

还有其它用法,可以本文开头引用的文章。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Move Ubuntu/Linux to SSD from old hard disk
Previous post
中小型企业公司组网方案
Next post