2016-12-02 1 views
0

У меня есть файлы, загруженные с сервера CI с использованием get_url. Это прекрасно, и я использую опцию backup: yes, чтобы убедиться, что я могу откат.ansible rotate downloads from get_url

Однако эти файлы большие (~ 100 МБ каждый), и я хотел бы удалить их и сохранить, скажем, последние N файлов.

ответ

1

Почему бы не использовать find и file?

грубый aproximation ваш код выглядит примерно так:

- name: find old files 
    find: 
    paths: "/var/tmp" 
    age: "3600" 
    register: files_to_delete 
- name: delete old files 
    file: 
    path: '{{ item.path }}' 
    state: absent 
    with_items: 
    - '{{ files_to_delete.files }}' 
+0

Не точно сохраняя последнюю N, но это красиво и достаточно просто, что я могу использовать его :) – nha

+2

Правда, но его более анзибль-иш , Если вы хотите, вы можете использовать команду оболочки с '- shell: find/var/tmp -name 'blah.txt.20 *' | head -n -N | xargs rm -rf', и вы можете изменить поиск в соответствии с вашими критериями – user2599522