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]

[file-name 000341_2026-02-13_11-21-47.txt]