![跟踪 journalctl 日志以重新启动 systemd 服务失败?](https://linux22.com/image/767966/%E8%B7%9F%E8%B8%AA%20journalctl%20%E6%97%A5%E5%BF%97%E4%BB%A5%E9%87%8D%E6%96%B0%E5%90%AF%E5%8A%A8%20systemd%20%E6%9C%8D%E5%8A%A1%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
我想知道是否有一种简单的方法来检查有关重新启动时引发错误的服务的最后 50 行。
$ sudo 服务 nginx 重启
nginx.service 的作业失败,因为控制进程退出并显示错误代码。 详情请参阅“systemctl status nginx.service”和“journalctl -xe”。
我使用别名来检查这一点,但我忘记了标志的作用。
别名 jrn='sudo journalctl -eu'
$ jrn nginx
- 重启 - 6月26日 02:52:42 xi systemd[1]: 正在启动 NGINX Plus - 高性能 Web 服务器... 6月26日 02:52:42 xi systemd[1]:已启动 NGINX Plus - 高性能 Web 服务器。 6月26日 04:03:16 xi systemd[1]:停止 NGINX Plus - 高性能 Web 服务器... 6月26日 04:03:16 xi systemd[1]: nginx.service: 成功。 6 月 26 日 04:03:16 xi systemd[1]:已停止 NGINX Plus - 高性能 Web 服务器。 6月26日 04:03:16 xi systemd[1]: 正在启动 NGINX Plus - 高性能 Web 服务器... 6月26日 04:03:16 xi nginx[41832]: nginx: [emerg] bind() 至 0.0.0.0:3000 失败 (98: 地址已在使用中) 6月26日 04:03:17 xi nginx[41832]: nginx: [emerg] bind() 至 0.0.0.0:3000 失败 (98: 地址已在使用中) 6月26日 04:03:17 xi nginx[41832]: nginx: [emerg] bind() 至 0.0.0.0:3000 失败 (98: 地址已在使用中) 6月26日 04:03:18 xi nginx[41832]: nginx: [emerg] bind() 至 0.0.0.0:3000 失败 (98: 地址已在使用中) 6月26日 04:03:18 xi nginx[41832]: nginx: [emerg] bind() 至 0.0.0.0:3000 失败 (98: 地址已在使用中) 6月26日 04:03:19 xi nginx[41832]: nginx: [emerg] 仍然无法绑定() 6月26日 04:03:19 xi systemd[1]:nginx.service:控制进程已退出,代码=exited,状态=1/FAILURE 6月26日 04:03:19 xi systemd[1]:nginx.service:结果为“退出代码”失败。 6月26日 04:03:19 xi systemd[1]:无法启动 NGINX Plus——高性能 Web 服务器。
答案1
-u 代表单位。
-e 代表寻呼机结束
来自文档:
这意味着 -n1000 保证分页器不会缓冲无限大小的日志。
例如,要获取 nginx 的最后 50 行,您可以执行:
journalctl -n 50 -u nginx