我正在設置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