Rundeck 获取在节点上执行的命令的详细输出

Rundeck 获取在节点上执行的命令的详细输出

我有伦德克执行远程脚本,在 Python 中通常使用打印语句返回输出,例如:

$ python mytest.py 
PASS: Condition 1 passed
PASS: Condition 2 passed
PASS: and so on...

但是,当我通过 Rundeck 运行此程序时,它不会显示print与上面相同的生成输出。在 Rundeck 最详细的调试输出模式下,我只收到以下内容:

06:31:12    Permanently added 'myremotenode.com' (RSA) to the list of known hosts.
06:31:12    SSH_MSG_NEWKEYS sent
06:31:12    SSH_MSG_NEWKEYS received
06:31:12    SSH_MSG_SERVICE_REQUEST sent
06:31:13    SSH_MSG_SERVICE_ACCEPT received
06:31:13    Authentications that can continue: publickey,password,keyboard-interactive
06:31:13    Next authentication method: publickey
06:31:13    Authentication succeeded (publickey).
06:31:13    /cygdrive/c/Program Files (x86)/Mozil...
06:32:06    Adding reference: ant.PropertyHelper
06:32:06    Setting project property: sshexec.output -> /cygdrive/c/Prog...

我知道远程脚本实际上正在像往常一样执行,因为我正在收到由约 30 分钟长的脚本生成的其他电子邮件。

显然,我不想等待 30 分钟才能看到 python 脚本中每个打印语句的结果。

我怎样才能在 Rundeck 中直接获得与在 bash shell 中相同级别的输出?

答案1

这个问题python 输出缓冲帮我解决了。

将标志添加-u到 python 执行行可以解决任何重定向 Rundeck 输出的问题。

相关内容