Systemd

跟踪 journalctl 登錄失敗以重新啟動 systemd 服務?

  • July 14, 2021

我想知道是否有一種簡短的方法可以檢查有關在重新啟動時引發錯誤的服務的最後 50 行。

**$ sudo 服務 nginx 重啟**  

nginx.service 的作業失敗,因為控制程序以錯誤程式碼退出。
有關詳細資訊,請參閱“systemctl status nginx.service”和“journalctl -xe”。

我使用別名進行檢查,但我忘記了標誌的作用。

**別名 jrn='sudo journalctl -eu'**
**$ jrn nginx** 
 

**-- 重啟 --**
Jun 26 02:52:42 xi systemd[1]: 啟動 NGINX Plus - 高性能 Web 伺服器...
6 月 26 日 02:52:42 xi systemd[1]:啟動 NGINX Plus - 高性能 Web 伺服器。
Jun 26 04:03:16 xi systemd[1]: 停止 NGINX Plus - 高性能 Web 伺服器...
Jun 26 04:03:16 xi systemd[1]: nginx.service: 成功。
6 月 26 日 04:03:16 xi systemd[1]:停止 NGINX Plus - 高性能 Web 伺服器。
Jun 26 04:03:16 xi systemd[1]: 啟動 NGINX Plus - 高性能 Web 伺服器...
Jun 26 04:03:16 xi nginx[41832]: nginx: [emerg] bind() to 0.0.0.0:3000 failed (98: Address already in use)
Jun 26 04:03:17 xi nginx[41832]: nginx: [emerg] bind() to 0.0.0.0:3000 failed (98: Address already in use)
Jun 26 04:03:17 xi nginx[41832]: nginx: [emerg] bind() to 0.0.0.0:3000 failed (98: Address already in use)
Jun 26 04:03:18 xi nginx[41832]: nginx: [emerg] bind() to 0.0.0.0:3000 failed (98: Address already in use)
Jun 26 04:03:18 xi nginx[41832]: nginx: [emerg] bind() to 0.0.0.0:3000 failed (98: Address already in use)
6 月 26 日 04:03:19 xi nginx [41832]:nginx:[emerg] 仍然無法綁定()
Jun 26 04:03:19 xi systemd[1]:**nginx.service:控制程序退出,code=exited,status=1/FAILURE** 
Jun 26 04:03:19 xi systemd[1]:**nginx.service:失敗,結果'退出程式碼'。**
6 月 26 日 04:03:19 xi systemd[1]:**無法啟動 NGINX Plus - 高性能 Web 伺服器。**

-u 代表單位。

-e 代表尋呼機結束

從文件中:

這意味著 -n1000 保證尋呼機不會>緩衝無限大小的日誌。

例如,要獲取 nginx 的最後 50 行,您將執行:

journalctl -n 50 -u nginx

引用自:https://serverfault.com/questions/1067904