我喜欢使用systemd的日志来查看和管理我的脚本的日志。我已经了解到,可以按消息基础从用户脚本记录到journal中。
echo 'hello' | systemd-cat -t myscript -p emerg
有没有一种方式可以将所有消息重定向到 journald,即使是由其他命令生成的消息?比如...
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
它能正常工作。但我仍在寻找一种从脚本内部实现此操作的方法。
your-script.sh &> | systemd-cat -t myscript
的方式运行它不起作用吗? - Inian~/scripts/test.sh &> | systemd-cat -t test.sh bash: 语法错误,附近意外的令牌 \
|'` - deanresin~/scripts/test.sh 2>&1 | systemd-cat -t test.sh
代替&>
。 - Inian