【问题标题】:Send Output errors of nohup to syslog将 nohup 的输出错误发送到 syslog
【发布时间】:2012-08-19 10:57:01
【问题描述】:

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

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

nohup imageprocessor.sh > "$LOG" &

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

我尝试过的几种日志变体

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

LOG="|logtosyslog.sh"

LOG="logtosyslog.sh"

【问题讨论】:

    标签: bash nohup rsyslog


    【解决方案1】:

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

    nohup sh -c 'imageprocessor.sh | logger'
    

    【讨论】:

      【解决方案2】:

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

      exec > >(logger -t myscript)
      

      stdout 然后被发送到logger 命令

      exec 2> >(logger -t myscript)
      

      stderr

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多