Systemd
如何使用一個命令按單位和標識符查看 journalctl 日誌?
我有一個 vpn 服務單元,我可以使用它查看日誌…
journalctl -u vpn
我還有一個腳本可以手動與 vpn 互動並記錄到日誌中…
exec > >(systemd-cat -t vpn.sh) 2>&1
我可以查看日誌…
journalctl -t vpn.sh
我嘗試使用…查看兩個日誌
journalctl -u vpn -t vpn.sh
但它沒有用。
有沒有辦法同時查看兩個日誌?或者是否可以
-t vpn.sh
在 vpn 服務單元文件中設置標識符 () 以匹配我的腳本 (vpn.sh
) 的標識符。
TL;DR:這將起作用:
$ journalctl _SYSTEMD_UNIT=vpn.service + SYSLOG_IDENTIFIER=vpn.sh
您可以使用
+
連接兩組連接並查找與任一表達式匹配的日誌日誌行。(這記錄在 journalctl 的手冊頁中。)為此,您需要通過其正確的欄位名稱(標誌
-u
和-t
快捷方式)來引用它們。您可以查看systemd.journal-fields(5)以獲取欄位名稱的文件。(該頁面還將解釋為什麼其中一個有前導下劃線而另一個沒有。)
因為
_SYSTEMD_UNIT
您需要完全匹配,包括.service
後綴(-u
快捷方式很智能,在將其轉換為按欄位查詢時會找到確切的單位名稱。)把它們放在一起,你會得到上面的命令。