Ansible,删除除X个最新文件夹以外的所有内容
是否可以编辑“查找模块”命令来查找remotebackup目录中的X个最新文件夹?谢谢Ansible,删除除X个最新文件夹以外的所有内容,ansible,Ansible,是否可以编辑“查找模块”命令来查找remotebackup目录中的X个最新文件夹?谢谢 - find: paths="{{ remotebackupdir }}" age="**find_oldest_folders_except_X_newer**" recurse=no register: result - debug: var=result.files - file: path: "{{ remotebackupdir }}" state: absent w
- find: paths="{{ remotebackupdir }}" age="**find_oldest_folders_except_X_newer**" recurse=no
register: result
- debug: var=result.files
- file: path: "{{ remotebackupdir }}" state: absent
with_items: result.files
我也做过类似的事情 尝试以下操作:(在要删除的文件所在的目录中执行)
基本上,-tr以相反的日期顺序列出内容,-1确保所有内容都在一行中,-d表示仅目录请注意,如果您没有“正常”文件名,在这种情况下,您可以使用
find
来破解某些内容,或者您可以用perl/python/ruby编写自定义脚本。但是,如果你能很好地控制将在这里保存的文件,那么这将是很好的。这是抓取4个最老的文件,而不是所有的文件,而是4个最新的文件。但在如何做到这一点上给出了很好的想法
- name: Get first 4 files
command: ls -trd -1 {{path}}/* | head -4
register: filenames
- name: actually delete files
file: {{path}}/{{ item }} state=absent
with_items: filenames.stdout_lines