【发布时间】:2019-06-21 00:25:35
【问题描述】:
我喜欢使用 systemd 的日志来查看和管理我自己的脚本日志的想法。我知道您可以根据每条消息从我的用户脚本登录到日志。
echo 'hello' | systemd-cat -t myscript -p emerg
有没有办法将所有消息重定向到日志,即使是由其他命令生成的消息?喜欢..
exec &> systemd-cat
更新:
部分成功。 从终端尝试了Inian的建议。
~/scripts/myscript.sh 2>&1 | systemd-cat -t myscript.sh
它起作用了,stdout 和 stderr 被定向到 systemd 的日志。 奇怪的是,
~/scripts/myscript.sh &> | systemd-cat -t myscript.sh
在我的 Bash 终端中不起作用。
当其他程序调用我的脚本时,我仍然需要在我的脚本中找到一种方法。
我试过了..
exec 2>&1 | systemd-cat -t myscript.sh
但它不起作用。
更新 2:
从终端
systemd-cat ~/scripts/myscript.sh
有效。但我仍在寻找从脚本中执行此操作的方法。
【问题讨论】:
-
哪个应用程序生成这些日志? shell 脚本或其他用户应用程序?
-
来自我的个人 shell 脚本
-
以
your-script.sh &> | systemd-cat -t myscript运行它不起作用吗? -
嗯。我没试过……
-
不确定错误来自哪里,可能不是
&>,你可以试试~/scripts/test.sh 2>&1 | systemd-cat -t test.sh
标签: bash logging stdout stderr systemd-journald