Ansible,删除除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

是否可以编辑“查找模块”命令来查找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
    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