我有一種情況需要檢查本地計算機上的文件狀態(我將撥打ansible-playbook ...
)。ansible - 檢查本地計算機上是否存在文件
如果存在由用戶創建的文件,則需要將其複製到遠程主機。如果它不存在,那麼遠程主機都不需要它。
我知道我做的事情,如:
- name: Check for ~/.blah/config
stat: path=/home/ubuntu/.blah/config
register: stat_blah_config
- name: Do something with blah config
shell: ~/do_something_with_config.sh
when: stat_aws_config.stat.exists == true
但如果文件存在於遠程只會工作。有沒有辦法有條件地執行任務(如複製)只有當文件存在本地(stat
在第一個任務中執行本地而不是遠程),如果它不是默默地失敗?我不確定ansible是否具有這種功能,但它會很有用。
其實,我可能已經找到了答案在這裏,使用'local_action':http://stackoverflow.com/問題/ 28855236/copy-local-file-if-exists-using-ansible?rq = 1 – FrustratedWithFormsDesigner