gpt4 book ai didi

linux - 无法使用 Ansible 剧本执行 Python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:07 28 4
gpt4 key购买 nike

我有一个运行“vgs”命令的 python 脚本来检查可用卷组中的可用空间,然后使用 lvcreate 命令创建 lvm。

当我在本地运行此 python 脚本时,我可以毫无问题地运行它,并且还会创建 lvm。但是,如果我使用 Ansible 剧本运行它,我已经尝试使用“命令”和“外壳”模块,它无法找到 vgs 命令的路径并失败。它似乎只是在寻找 /usr/bin:/bin 路径。请帮忙。

which: no vgs in (/usr/bin:/bin)", "No Volume Groups Found", "Space Found in Volume Group:"], "warnings": []}

"stderr": "sh: -c: line 0: syntax error near unexpected token `('\nsh: -c: line 0: `{ which: no vgs in (/usr/bin:/bin) -o VG_NAME --noheadings --units m ; } 2>&1'

最佳答案

It seems it is only looking for '/usr/bin:/bin' paths.

因为交互式和非交互式 shell session 调用不同的 rc 文件集。如果您在仅由交互式 shell 获取的 rc 文件中设置 PATH,这些设置将不会反射(reflect)在非交互式 shell 中。

添加PATH作为任务的环境变量:

- command: <script_on_target_node>
environment:
PATH: <path_string>

关于linux - 无法使用 Ansible 剧本执行 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43458248/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com