在Ansible手册中,如果目录不,我想运行任务。
- name: Check for java exists in /opt
stat: path=/opt/jdk1.8.0_71
register: p
when: p.stat.isdir is defined and p.stat.isdir
但是,我必须做些什么来确保只有在这个目录不存在的情况下才能运行以下任务?
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71 chdir=/opt
答案 0 :(得分:41)
creates
参数非常适合:
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71
args:
chdir: /opt
creates: /opt/jdk1.8.0_71
Ansible将检查/opt/jdk1.8.0_71
是否存在,并且仅在命令不存在时运行该命令。
答案 1 :(得分:25)
- name: Extract java if dir not existing
command: tar xzf /tmp/jdk1.8.0_71 chdir=/opt
when: not p.stat.exists