如何重定向 shell 的 debug 信息到 rsyslog
今天在优化 steem 节点的管理脚本的时候新学到的。
#!/bin/bash
# redirect debug info to rsyslog
exec 5> >(logger -t aws_custom_func_debug)
BASH_XTRACEFD="5"
set -xe
解释:
logger -t aws_custom_func_debug [msg]这个是在/var/log/messages中写入一条标记为aws_custom_func_debug的日志。以前一直都是用管道直接echo msg >> /var/log/messages,这样做相当于是绕开了rsyslog的管理,导致日志信息不全。exec 5> >...的作用是把管道5重定向到某位置,注意两个>中间有一个空格BASH_XTRACEFD="5"让set -x的信息输出到管道5