我正在尝试编写一个使用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"
答案 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'