【发布时间】:2020-11-12 09:06:20
【问题描述】:
我们正在通过 ansible 运行一个 python 脚本。该脚本大约需要 45 分钟才能完成,并且日志记录处于详细模式。但问题是我们只有在 45 分钟后或脚本失败时才能知道结果。
- name: Run a python script
shell: |
cd /tmp/
python {{script_name}} {{branch}} {{ script_action_arg_test }} >> output.txt
我已经尝试了上述方法,python 进程继续运行但没有记录任何内容到 output.txt 有没有办法在 ansible 本身中捕获脚本的详细日志?
【问题讨论】:
-
您可以使用
cd /tmp/ python {{script_name}} {{branch}} {{ script_action_arg_test }} > some_file.log运行它,它会将输出捕获到文件中 -
@Tamir,我只是尝试了这种方法,但即使进程正在运行,它似乎也没有将任何内容记录到文件 output.txt 中
-
1.不要使用
cd /tmp,而是在你的任务中使用chdir: /tmp。 2. 对于手头的问题,这不是 Ansible 的工作方式,您不应该期望从任务中得到“生动的反馈”。这个问题有点接近你在这里问的问题:serverfault.com/questions/958952/… -
您需要使用
async运行该任务,然后循环遍历一个include文件,该文件有一个任务获取文件的尾部(大约十行)和另一个转储它debug. -
是的,但不是现在。我有一些工作要为教会的食物银行做。我会在几个小时后回来。
标签: python python-3.x ansible