Вы также можете выполнить такого рода задачи, не выполняя никаких вычислений, используя find
и его параметр age
:
In В вашем случае вам понадобится отрицательное значение для age
:
Выберите файлы, возраст которых равен указанному времени или превышает его. Используйте отрицательный возраст, чтобы найти файлы, равные или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву любого из этих слов (например, «1w»).
Источник: https://docs.ansible.com/ansible/latest/modules/find_module.html#parameter -age
Учитывая сценарий:
- hosts: all
gather_facts: no
tasks:
- file:
path: /var/test.log
state: touch
- find:
paths: /var
pattern: 'test.log'
age: -20h
register: test_log
- debug:
msg: "The file is exactly 20 hours old or less"
when: test_log.files | length > 0
- file:
path: /var/test.log
state: touch
modification_time: '202007102230.00'
- find:
paths: /var
pattern: 'test.log'
age: -20h
register: test_log
- debug:
msg: "The file is exactly 20 hours old or less"
when: test_log.files | length > 0
Это дает резюме:
PLAY [all] **********************************************************************************************************
TASK [file] *********************************************************************************************************
changed: [localhost]
TASK [find] *********************************************************************************************************
ok: [localhost]
TASK [debug] ********************************************************************************************************
ok: [localhost] => {
"msg": "The file is exactly 20 hours old or less"
}
TASK [file] *********************************************************************************************************
changed: [localhost]
TASK [find] *********************************************************************************************************
ok: [localhost]
TASK [debug] ********************************************************************************************************
skipping: [localhost]
PLAY RECAP **********************************************************************************************************
localhost : ok=5 changed=2 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0