3

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

我已经尝试过使用 log 变量的不同变体(见下文)的这个命令,但除了 std txt 文件之外,无法将输出传递给任何东西。我不能让它管。

nohup imageprocessor.sh > "$LOG" &

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

我尝试过的几种日志变体

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

或者

LOG="|logtosyslog.sh"

或者

LOG="logtosyslog.sh"
4

2 回答 2

8

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

exec > >(logger -t myscript)

stdout然后被发送到logger命令

exec 2> >(logger -t myscript)

为了stderr

于 2012-08-23T21:16:43.943 回答
1

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

nohup sh -c 'imageprocessor.sh | logger'
于 2012-08-23T21:47:20.440 回答