# 查看nginx日志
sudo tail -f /var/log/nginx/error.log
# 查看服务的系统日志
journalctl -xeu gogs.service
# 验证nginx配置文件正确性
sudo nginx -t -c /etc/nginx/sites-available/default
# 查看服务的系统日志
journalctl -xeu nginx.service
# 查看操作系统的日志
tail -f /var/log/messages
分页输出
journalctl
不分页输出
ournalctl --no-pager
按时间倒序查看所有日志:
journalctl -r
查看最新的10条日志:
journalctl -n 10
实时查看新添加的日志条目:
journalctl -f
根据服务名称过滤:
journalctl -u nginx
根据进程ID过滤:
journalctl _PID=2001
根据优先级过滤(0-7,0表示最重要):
journalctl -p err -b
时间戳和日志轮转
对于大型系统,日志文件可能会非常大。为了解决这个问题,journalctl提供了日志轮转和时间戳功能。
日志轮转是一个过程,其中旧的日志条目被删除以释放空间给新的日志条目。默认情况下,Journal将根据配置在/var/log/journal中保存日志文件,并在磁盘空间不足时执行日志轮转。
时间戳允许你查找特定时间范围内的日志条目。例如:
journalctl --since="2021-07-01" --until="2021-07-31 03:00"
如果你想检查一下之前是否有旧的日志,你可以使用以下命令:
sudo journalctl --vacuum-status
要清空从系统启动以来所有的 etcd 服务日志,包括今天和过去所有的,你可以使用以下命令:
sudo journalctl --vacuum-time=0 -u etcd
如果你只想清除当前系统启动后生成的所有日志,可以使用以下命令:
sudo journalctl --boot 0 -u etcd --vacuum-time=1d
要清空今天的所有 etcd 服务的日志, 你可以使用以下命令:
sudo journalctl --vacuum-time=1d -u etcd
要确认是否有正在写入的日志,可以使用以下命令:
sudo journalctl --boot 0 -n 1
如果你想清除所有旧日志,而不仅仅是清除到100MB,你可以使用以下命令:
sudo journalctl --vacuum-time=1d
要清空 etcd 服务的日志, 你可以使用以下命令:
sudo journalctl --vacuum-size=100M
journalctl -u etcd -n 50
less /var/log/message
journalctl --since today -f --tail 10