我有一个python脚本,它使用 visible 包来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变量吗?
您可以尝试修改ansible.cfg中的"remote_tmp"参数。
默认值:- $HOME/.ansible/tmp
更新:- /tmp/.ansible/tmp
在这种情况下,任何试图运行playbook的用户都将有足够的权限在/tmp目录下创建必要的临时文件。
是的,它似乎没有逃避$HOME
变量,并试图在/$HOME
下写入。