伙计们需要一个错误帮助,需要在服务器上运行一个远程脚本,但我收到以下错误。
我的剧本
- hosts: broken
strategy: debug
become: yes
remote_user: snehal
gather_facts: false
tasks:
- name: check if file exists
stat: path=/test/check_authkey
register: authkey_exists
- name: copying CEPLIVE script
copy:
src: /home/snehal/Final_build_files/check_authkey
dest: /home/snehal/
when: not authkey_exists.stat.exists
- name: run script
command: /home/snehal/check_authkey.sh
when: not authkey_exists.stat.exists
这个错误是什么意思?如何检查失败的原因?
PLAY [broken] ******************************************************************************************************************************************************
TASK [check if file exists] ****************************************************************************************************************************************
ok: [MOD009293]
ok: [MOD007479]
TASK [copying CEPLIVE script] **************************************************************************************************************************************
skipping: [MOD007479]
ok: [MOD009293]
TASK [run CEPLIVE script] ******************************************************************************************************************************************
skipping: [MOD007479]
fatal: [MOD009293]: FAILED! => {"changed": true, "cmd": ["/home/snehal/check_authkey.sh"], "delta": "0:00:00.033337", "end": "2019-01-22 17:33:05.279549", "failed": true, "rc": 1, "start": "2019-01-22 17:33:05.246212", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}
to retry, use: --limit @/home/snehal/ansible/ceplive.retry
PLAY RECAP *********************************************************************************************************************************************************
MOD007479 : ok=1 changed=0 unreachable=0 failed=0
MOD009293 : ok=2 changed=0 unreachable=0 failed=1
答案1
您的错误意味着您的脚本/home/snehal/Final_build_files/check_authkey
正在运行并以 的值退出1
。由于您没有共享该脚本。我不知道它为什么会以该值退出。
如果您/home/snehal/Final_build_files/check_authkey ; echo $?
在远程手动运行会发生什么?
如果退出代码不是错误,您可以failed_when
为该任务设置一个选项,其中包含描述什么是失败和什么不是失败的条件。
如果失败,您可能需要调试脚本。特别是查看引用环境的任何内容。您通过 ansible 获得的 shell 可能设置了不同的 PATH,或者设置了不同的其他变量。