我正在设置Ansible角色来安装Ahsay Offsite Backup Server。卡在调试运行远程命令的任务时冻结
下载并解压缩包含该软件的压缩文件后,需要运行安装脚本。我已经确定,在脚本的早期阶段,它会检查您的当前用户是否具有无法运行的适当权限。
当我运行剧本时,最后的任务永远不会结束。
作用
- name: Check if OBS install files have already been downloaded
stat:
path: /tmp/obs/version.txt
register: stat_result
- name: Ensures /tmp/obs exists
file: path=/tmp/obs state=directory
- name: Download and extract OBS install files
unarchive:
src: https://ahsay-dn.ahsay.com/v6/obsr/62900/obsr-nix.tar.gz
dest: /tmp/obs
remote_src: true
validate_certs: no
when: stat_result.stat.exists == false
- name: Install OBS
command: bash -lc "/tmp/obs/bin/install.sh > /tmp/install_output.log"
的剧本配置是所有任务成为须藤。
如果我在远程主机上的shell中运行该命令,它会成功执行。
我在命令失败之前遇到类似的问题,因为(在rvm中)它需要首先加载并拉入一堆环境变量的bash_profile。解决方法就像我上面所做的那样,将命令封装在bash -lc "..."
中,但这一次没有帮助。
我想如何继续解决这一问题的任何建议。
检查' install_output.log',确定哪一行导致脚本停止,使用推理来确定根本原因。 – techraf
这就是我确定它是检查在单独脚本中的权限的部分。我设置了一个测试任务,它只运行了单独的脚本,并且它也冻结了,所以我知道这是失败的。我还将该脚本的输出传送到日志文件并再次运行该剧本,并且在创建日志文件时,其内容是空的,所以我卡在那里。 – bdx
用'-x'运行bash或添加自己的日志记录。 – techraf