我如何修复以下剧本接受文件模式作为一个额外的变量,并删除与匹配的文件模式比给定的旧文件。的天?
---
- 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 }}"