我使用一个init脚本来运行一个简单的进程,该进程从以下命令开始:
start-stop-daemon --start --quiet --chuid $DAEMONUSER \
--make-pidfile --pidfile $PIDFILE --background \
--exec $DAEMON $DAEMON_ARGS
名为$DAEMON的进程通常将日志信息打印到其标准输出。据我所知,这些数据没有存储在任何地方。
我想要将$DAEMON的标准输出写入或附加到某个文件中。
我所知道的惟一解决方案是告诉启动-停止-守护进程调用$DAEMON脚本,而不是直接调用stop;然后该脚本调用stop并写入日志文件。但这需要一个额外的脚本,就像修改守护进程本身一样,这似乎不是解决这种常见任务的错误方法。
发布于 2013-01-22 04:45:41
我不确定"$DAEMON $DAEMON_ARGS >/var/2>&1/ome.log 2>&1“是否会关闭日志文件的文件描述符...这意味着如果您的守护进程永远运行,我不确定logrotate或其他清理磁盘空间的机制是否有效。因为它是>而不是>>,所以建议的命令还会在重启时截断现有日志。如果您想了解守护进程崩溃并自动重新启动的原因,这可能没有太大帮助。
另一个选项可能是"$DAEMON | logger“。logger是一个将记录到syslog (/var/ log /messages)的命令。如果你也需要stderr,我想你可以使用"$DAEMON 1>&2 | logger“
https://stackoverflow.com/questions/8251933
复制相似问题