我有一个python脚本,它使用 ansible 包来ping某些远程服务器。手动执行时( python devmanager.py )它可以正常工作,但是当使用 supervisor 管理脚本时,会引发以下错误:
Could not make dir /$HOME/.ansible/cp: [Errno 13] Permission denied: '/$HOME
ansible命令非常简单:
runner = ansible.runner.Runner(
module_name='ping',
module_args='',
forks=10,
inventory=inventory
)
源系统和目标系统中的相同用户。我已经检查了$ HOME文件夹的权限,但没有发现任何奇怪的内容。
知道发生了什么事吗?翻译$ HOME变量不知道吗?
答案 0 :(得分:1)
你可以尝试改变ansible.cfg中的参数“remote_tmp”。
默认: - $HOME/.ansible/tmp
更新: - /tmp/.ansible/tmp
在这种情况下,用户尝试运行该剧本的用户将有足够的权限在/ tmp目录中创建必要的临时文件。
答案 1 :(得分:0)
是的,似乎它没有逃脱$HOME
变量并尝试在/$HOME
下写字。