保存临时ansible shell脚本而不是删除

时间:2015-05-05 18:06:08

标签: ansible ansible-playbook

我注意到Ansible使用分号删除临时脚本以分隔bash命令。

以下是一个示例命令:

EXEC ssh -C -tt -v -o ControlMaster=auto -o ControlPersist=60s -o 
ControlPath="/Users/devuser/.ansible/cp/ansible-ssh-%h-%p-%r" -o
KbdInteractiveAuthentication=no -o
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey
-o PasswordAuthentication=no -o ConnectTimeout=10 build /bin/sh -c
'LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /usr/bin/python
/home/ec2-user/.ansible/tmp/ansible-tmp-1430847489.81-75617096172775/docker;
rm -rf
/home/ec2-user/.ansible/tmp/ansible-tmp-1430847489.81-75617096172775/
>/dev/null 2>&1'

有没有办法告诉ansible用双符号替换分号或告诉它在运行ansible-playbook时保存脚本或输出内容?

我正在尝试调试此脚本中的错误,现在唯一出现的是:

failed: [build] => {"changed": false, "failed": true}
msg: ConnectionError(ProtocolError('Connection aborted.', error(2, 'No such file or directory')),)

1 个答案:

答案 0 :(得分:38)

我找到了环境变量 -

export ANSIBLE_KEEP_REMOTE_FILES=1

设置此项,然后重新运行ansible-playbook,然后将ssh和cd转到〜/ .ansible / tmp /以查找文件。