以最有效的方式删除多个文件(可翻译)

Pet*_*etr 2 ansible

我想删除几个文件,现在我用这种方式:

- file: path=/etc/yum.repos.d/rhel6-6-hci-frozen.repo state=absent
  name: Ensure absence of old freeze files
- file: path=/etc/yum.repos.d/in-mrepo-rhel6.repo state=absent
  name: Ensure absence of old files
Run Code Online (Sandbox Code Playgroud)

...

许多其他行

问题在于,ansible似乎一个接一个地执行这些任务,而不是将其合并为一项任务:

TASK [Ensure absence of old freeze files] **************************************
changed: [server]

TASK [Ensure absence of old files] *********************************************
ok: [server]

TASK [Ensure absence of actual files] ******************************************
ok: [server]

TASK [Ensure absence of old rhel6 freeze files] ********************************
ok: [server]

TASK [Ensure absence of epel stuff] ********************************************
ok: [server]

TASK [Ensure absence of epel testing] ******************************************
ok: [server]
Run Code Online (Sandbox Code Playgroud)

这需要很多时间。有没有一种方法可以将其作为一项任务执行?我知道我可能只可以执行Shell脚本,但是我希望找到一种正确的方法来执行此操作。

act*_*eek 5

您可以将with_items密钥用作:

- name: Ensure absence of old freeze files
  file:
    path: '{{ item }}'
    state: absent
  with_items:
    - /etc/yum.repos.d/rhel6-6-hci-frozen.repo
    - /etc/yum.repos.d/in-mrepo-rhel6.repo
Run Code Online (Sandbox Code Playgroud)