传递模式作为额外的变量

  • 本文关键字:变量 模式 ansible
  • 更新时间 :
  • 英文 :


我如何修复以下剧本接受文件模式作为一个额外的变量,并删除与匹配的文件模式比给定的旧文件。的天?

---
- hosts: destination_servers
vars:
file_pattern: "{{ file_name }}"
tasks:
- name: Find all files older than {{ age }} days
find:
path: '{{ dir }}'
file_type: file
pattern: '{{ file_pattern }}'
age: '{{ age }}'
recurse: no
register: files_to_delete
- name: Remove files
file:
path: '{{ dir }}'
file_type: file
state: absent
with_items: "{{ files_to_delete.files }}"

命令执行

ansible-playbook -i inventories/servers.ini playbook/deleteFiles.yml -e "dir=/home/test/folder/ age=30d file_name=*.txt"

file_name可以是任意模式,如*.* or *.txt or file*.txt or file*.*

得到了解决方案,以下是更新的剧本

---
- hosts: destination_servers
vars:
file_pattern: '{{ file_name }}'
tasks:
- name: Find all files older than {{ age }} days
find:
paths: '{{ dir }}'
file_type: file
pattern: '{{ file_pattern }}'
age: '{{ age }}'
recurse: no
register: files_to_delete
- name: Remove files
file:
path: '{{ item.path }}'
state: absent
with_items: "{{ files_to_delete.files }}"

最新更新