Bash

腳本無法寫入 systemd 日誌

  • September 9, 2021

簡而言之:我想通過systemd腳本寫日記。

這不起作用:

printf "%s\n%s\n%s\n" CODE_FILE=/etc/zsh/zprofile CODE_LINE=31 MESSAGE="could not read /etc/dircolors" | logger --journald

當我執行那個確切的程式碼(或任何其他帶有列印等的變體)時,日誌中什麼也沒有發生。

journalctl這樣稱呼:

journalctl --full --all --no-pager -n 10

這裡有什麼問題?

使用systemd-cat. 它將管道或程序輸出與日誌連接起來。

例子:

printf "Write text to the journal" | systemd-cat

結果:

journalctl -xn
[..]
Apr 12 13:37:00 servername [31509]: Write text to the journal

如果要辨識日誌記錄工具,可以添加-t選項:

printf "Write text to the journal" | systemd-cat -t yourIdentifier
journalctl -xn
Apr 12 13:37:00 servername yourIdentifier[31833]: Write text to the journal

編輯:要僅顯示指定係統日誌標識符的消息,請使用 -t 選項:

journalctl -t yourIdentifier

該參數可以指定多次。

引用自:https://unix.stackexchange.com/questions/233749