Я хотел бы удалить все старые файлы и сохранить последние 4 файла. Выход не то, что я ожидал. Даже я использую отсутствующий на файловых модулях, но он не удаляет файлы.
Мои файлы здесь
# ls -l /home/tomcat/backup
total 0
-rw-r--r-- 1 root root 0 Mar 3 14:21 1
-rw-r--r-- 1 root root 0 Mar 3 14:21 2
-rw-r--r-- 1 root root 0 Mar 3 14:21 3
-rw-r--r-- 1 root root 0 Mar 3 14:21 4
-rw-r--r-- 1 root root 0 Mar 3 14:21 5
-rw-r--r-- 1 root root 0 Mar 3 14:21 6
-rw-r--r-- 1 root root 0 Mar 3 14:21 as
-rw-r--r-- 1 root root 0 Mar 3 14:21 asd
-rw-r--r-- 1 root root 0 Mar 3 14:21 df
-rw-r--r-- 1 root root 0 Mar 3 14:21 fas
-rw-r--r-- 1 root root 0 Mar 3 14:21 y6
ansible .yml
- name: Prerequsite Deployement | Get first 4 files
shell: "ls -t {{ item.path }}/{{ item.filename }} | tail -n +4"
with_items:
- { path: /home/tomcat/backup, filename: "*" }
register: files_matched
tags: prerequsite_deployment
- debug:
msg: "{{item.stdout_lines}}"
with_items: "{{files_matched.results}}"
tags: prerequsite_deployment
- name: Prerequsite Deployement | Clean up path
file:
path: "{{item.stdout_lines}}"
state: absent
with_items:
- "{{files_matched.results}}"
tags: prerequsite_deployment
результат вывода
# ls -l /home/tomcat/backup
total 0
-rw-r--r-- 1 root root 0 Mar 3 14:21 1
-rw-r--r-- 1 root root 0 Mar 3 14:21 2
-rw-r--r-- 1 root root 0 Mar 3 14:21 3
-rw-r--r-- 1 root root 0 Mar 3 14:21 4
-rw-r--r-- 1 root root 0 Mar 3 14:21 5
-rw-r--r-- 1 root root 0 Mar 3 14:21 6
-rw-r--r-- 1 root root 0 Mar 3 14:21 as
-rw-r--r-- 1 root root 0 Mar 3 14:21 asd
-rw-r--r-- 1 root root 0 Mar 3 14:21 df
-rw-r--r-- 1 root root 0 Mar 3 14:21 fas
-rw-r--r-- 1 root root 0 Mar 3 14:21 y6
Мой ожидаемый результат вывода
# ls -l /home/tomcat/backup
total 0
-rw-r--r-- 1 root root 0 Mar 3 14:21 1
-rw-r--r-- 1 root root 0 Mar 3 14:21 2
-rw-r--r-- 1 root root 0 Mar 3 14:21 3
-rw-r--r-- 1 root root 0 Mar 3 14:21 4