1

我的 rundeck 作业执行一个简单的 nohup 命令“cd /tmp/; nohup ls -l &”。作业执行日志将获得命令输出,但不会在该目录中生成 nohup.out 文件。

我在 rundeck 工作流程中使用了所有类型的步骤。all 无法生成 nohup.out 文件。

有谁知道为什么 rundeck 无法生成 nohup.out 文件而是将命令输出发送到执行日志?感谢

4

2 回答 2

0

您似乎没有将输出重定向到文件,根据我的经验, nohup 在 RunDeck 中运行良好。

cd /tmp/; nohup ls -l > /tmp/nohup.something
于 2015-05-12T05:58:14.600 回答
0

我有一个可行的理论:nohup正在被 Rundeck 基础设施使用/解释,并大致解释为:“在后台无限期地运行这项工作”,而我们通常不理解“输出到非 tty”(即 stdout/stderr 到nohup.out 或一起通过管道传输到文件)。或者至少,我相当确定它没有执行我路径上的 nohup 版本。

因此:

  1. 您应该手动将所有输出(stdout 和 stderr)重定向到文件,除非您愿意让 Rundeck 捕获它
  2. 你不需要&,虽然它不会伤害任何东西

就我而言,我翻译自:

cd tools/celery && nohup ./start.sh flower > log_name.txt &

至:

cd tools/celery && nohup ./start.sh flower > log_name.txt 2>&1
于 2015-08-24T18:23:51.490 回答