<===
2026-02-13 11:21:47
- name: Собрать логи за последние сутки
hosts: you_hosts_group
become: true
gather_facts: false
vars:
remote_tmp_archive: "/tmp/ansible_{{ inventory_hostname }}.tgz"
tasks:
- name: Найти файлы в /var/log, изменённые за последние 24 часа
ansible.builtin.find:
paths: /var/log
file_type: file
recurse: true
age: -24h # моложе 24 часов
age_stamp: mtime # по дате изменения
register: recent_logs
# age с префиксом "-" выбирает файлы с возрастом ≤ указанного времени [web:4][web:5][web:8]
- name: Упаковать найденные файлы в архив на удалённом хосте
ansible.builtin.archive:
path: "{{ recent_logs.files | map(attribute='path') | list }}"
dest: "{{ remote_tmp_archive }}"
format: gz
force_archive: true
when: recent_logs.matched | default(0) > 0
# archive умеет принимать список файлов в параметр path и создавать tar.gz [web:6][web:9][web:15]
- name: Скачать архив себе
ansible.builtin.fetch:
src: "{{ remote_tmp_archive }}"
dest: "/tmp/"
flat: yes
when: recent_logs.matched | default(0) > 0
# fetch копирует файл с удалённого хоста на контроллер Ansible [web:7][web:10][web:13]
Back to list