我有一种情况需要检查本地机器上的文件状态(我将调用的文件ansible-playbook ...).
如果存在由用户创建的文件,则需要将其复制到远程主机.如果它不存在,则没有远程主机需要它.
我知道我做过的事情:
- 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
Run Code Online (Sandbox Code Playgroud)
但这只有在远程存在文件时才有效.有没有办法有条件地执行任务(如副本)只有当文件存在于本地时(stat第一个任务在本地而不是远程执行),如果没有,则无声地失败?我不确定ansible是否具有这种功能,但它会很有用.