将nohup的输出错误发送到syslog

时间:2012-08-23 20:58:55

标签: bash nohup rsyslog

我正在尝试编写一个使用nohup的bash脚本并将错误传递给rsyslog。

我已尝试使用日志变量的不同变体(见下文),但无法将输出传递给除std txt文件之外的任何内容。我不能把它拿到管道上。

nohup imageprocessor.sh > "$LOG" &

是否可以输出nohup输出或我是否需要不同的命令。

我尝试过的几种日志变体

LOG="|/usr/bin/logger -t workspaceworker -p LOCAL5.info &2"

LOG="|logtosyslog.sh"

LOG="logtosyslog.sh"

2 个答案:

答案 0 :(得分:9)

bash将输出重定向到syslog的方法是:

exec > >(logger -t myscript)
然后将

stdout发送到logger命令

exec 2> >(logger -t myscript)

代表stderr

答案 1 :(得分:1)

不直接。 nohup将分离子进程,因此管道nohup命令的输出没有用。这就是你想要的:

nohup sh -c 'imageprocessor.sh | logger'