如何在CentOS 6.X中使用带有tee的记录器

时间:2015-09-28 16:45:51

标签: linux tee

我尝试使用这些命令来测试我的shell脚本:

logger "hello i am fun" | tee -a test 

但是测试文件仍然是空的。我也试过使用echo

echo "hello i am fun" |tee -a test >logger

写入测试文件也失败了。如何将记录器与tee -a一起使用?

1 个答案:

答案 0 :(得分:0)

logger有一个-s标记:

  

-s将消息输出到标准错误以及系统                 日志中。

来源:LOGGER(1) Man Pages

您可以使用-s将邮件记录到标准错误。 然后将stderr重定向到stdout,然后将stdout重定向到/dev/null。 将整个内容传递到tee,您最终会在系统日志中显示您的消息以及您在tee中指定的路径。

示例:

joeyoung$ logger -s -p local0.notice -t TEST "test message" 2>&1 >/dev/null |  tee -a /tmp/teetemp.log
Oct  3 11:11:54 localhost TEST[4231] <Notice>: test message
joeyoung$ tail -n1 /var/log/messages
Oct  3 11:11:54 localhost TEST[4231]: test message
joeyoung$ cat /tmp/teetemp.log
Oct  3 11:11:54 localhost TEST[4231] <Notice>: test message

为了获得正确的归因,我们会从https://stackoverflow.com/a/2342841/2744166

中获取一些灵感