ansible.windows.win_find – Возвращает список файлов по определённым критериям
Примечание
Этот плагин является частью коллекции ansible.windows (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install ansible.windows.
Для использования в книге задач, укажите: ansible.windows.win_find.
Описание
- Возвращает список файлов, соответствующих заданным критериям.
- Несколько критериев объединяются операцией «И».
- Для целей, не являющихся Windows, используйте модуль ansible.builtin.find вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age строка | Выбрать файлы или папки, возраст которых равен или больше указанного времени. Используйте отрицательное значение возраста для поиска файлов, возраст которых равен или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "2s", "10d", 1w"). | |
| age_stamp строка |
| Выберите свойство файла, по которому будем сравнивать age.По умолчанию сравнивается время последней модификации. |
| checksum_algorithm строка |
| Алгоритм для определения контрольной суммы файла. Вызовет ошибку, если хост не поддерживает указанный алгоритм. |
| file_type строка |
| Тип файла для поиска. |
| follow булево |
| Установите значение «да», чтобы следить за символическими ссылками в пути. Это необходимо использовать совместно с recurse. |
| get_checksum булево |
| Нужно ли вернуть контрольную сумму файла в информации о возврате (по умолчанию sha1), используйте checksum_algorithm для изменения от значения по умолчанию. |
| hidden булево |
| Установите значение «да», чтобы включить скрытые файлы или папки. |
| paths список / элементы=строка / обязательно | Список путей к каталогам для поиска файлов или папок. Можно указать один путь или список путей. | |
| patterns список / элементы=строка | Один или несколько шаблонов (PowerShell или регулярные выражения) для сравнения имён файлов. Тип сопоставления шаблонов контролируется параметром use_regex.Шаблоны ограничивают список возвращаемых файлов или папок, основываясь на именах файлов. Для соответствия файлу достаточно соответствия одному шаблону из предоставленного списка. Псевдонимы: regex, regexp | |
| recurse булево |
| Включает рекурсивный спуск в каталог для поиска файлов или папок. |
| size строка | Выбрать файлы или папки, размер которых равен или больше указанного размера. Используйте отрицательное значение для поиска файлов, размер которых равен или меньше указанного размера. Размер можно указать с суффиксом типа байта (например, килобайт = k, мегабайт = m...). Размер не оценивается для символических ссылок. | |
| use_regex булево |
| Установит шаблоны на выполнение проверки регулярных выражений, если установлено значение yes. |
Примеры
- name: Find files in path
ansible.windows.win_find:
paths: D:\Temp
- name: Find hidden files in path
ansible.windows.win_find:
paths: D:\Temp
hidden: yes
- name: Find files in multiple paths
ansible.windows.win_find:
paths:
- C:\Temp
- D:\Temp
- name: Find files in directory while searching recursively
ansible.windows.win_find:
paths: D:\Temp
recurse: yes
- name: Find files in directory while following symlinks
ansible.windows.win_find:
paths: D:\Temp
recurse: yes
follow: yes
- name: Find files with .log and .out extension using powershell wildcards
ansible.windows.win_find:
paths: D:\Temp
patterns: [ '*.log', '*.out' ]
- name: Find files in path based on regex pattern
ansible.windows.win_find:
paths: D:\Temp
patterns: out_\d{8}-\d{6}.log
- name: Find files older than 1 day
ansible.windows.win_find:
paths: D:\Temp
age: 86400
- name: Find files older than 1 day based on create time
ansible.windows.win_find:
paths: D:\Temp
age: 86400
age_stamp: ctime
- name: Find files older than 1 day with unit syntax
ansible.windows.win_find:
paths: D:\Temp
age: 1d
- name: Find files newer than 1 hour
ansible.windows.win_find:
paths: D:\Temp
age: -3600
- name: Find files newer than 1 hour with unit syntax
ansible.windows.win_find:
paths: D:\Temp
age: -1h
- name: Find files larger than 1MB
ansible.windows.win_find:
paths: D:\Temp
size: 1048576
- name: Find files larger than 1GB with unit syntax
ansible.windows.win_find:
paths: D:\Temp
size: 1g
- name: Find files smaller than 1MB
ansible.windows.win_find:
paths: D:\Temp
size: -1048576
- name: Find files smaller than 1GB with unit syntax
ansible.windows.win_find:
paths: D:\Temp
size: -1g
- name: Find folders/symlinks in multiple paths
ansible.windows.win_find:
paths:
- C:\Temp
- D:\Temp
file_type: directory
- name: Find files and return SHA256 checksum of files found
ansible.windows.win_find:
paths: C:\Temp
get_checksum: yes
checksum_algorithm: sha256
- name: Find files and do not return the checksum
ansible.windows.win_find:
paths: C:\Temp
get_checksum: no
Значения возврата
Общие значения возврата описаны в этой статье, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| examined целое число | всегда | Количество файлов/папок, которые были проверены. Пример: 10 | |
| files сложное | успех | Информация о файлах/папках, соответствующих критериям, возвращается в виде списка элементов словаря для каждого соответствующего файла. Записи отсортированы по пути в алфавитном порядке. | |
| attributes строка | успех, путь существует | Атрибуты файла по пути в сыром виде. Пример: Архив, Скрытый | |
| checksum строка | успех, путь существует, путь является файлом, get_checksum == True | Контрольная сумма файла, основанная на алгоритме checksum_algorithm. Пример: 09cb79e8fc7453c84a07f644e441fd81623b7f98 | |
| creationtime вещественное число | успех, путь существует | Время создания файла, представленное в секундах с момента эпохи. Пример: 1477984205.15 | |
| exists булево | успех, путь существует | Существует ли файл, всегда будет true для ansible.windows.win_find. Пример: True | |
| extension строка | успех, путь существует, путь является файлом | Расширение файла по пути. Пример: .ps1 | |
| filename строка | успех, путь существует | Имя файла. Пример: temp | |
| hlnk_targets список / элементы=строка | успех, путь существует | Список других файлов, указывающих на тот же файл (жёсткие ссылки), исключая текущий файл. Пример: ['C:\\temp\\file.txt', 'C:\\Windows\\update.log'] | |
| isarchive булево | успех, путь существует | Готов ли путь для архивирования. Пример: True | |
| isdir булево | успех, путь существует | Является ли путь каталогом. Пример: True | |
| ishidden булево | успех, путь существует | Является ли путь скрытым. Пример: True | |
| isjunction булево | успех, путь существует | Является ли путь точкой соединения. Пример: True | |
| islnk булево | успех, путь существует | Является ли путь символической ссылкой. Пример: True | |
| isreadonly булево | успех, путь существует | Является ли путь только для чтения. Пример: True | |
| isreg булево | успех, путь существует | Является ли путь обычным файлом. Пример: True | |
| isshared булево | успех, путь существует | Является ли путь общим. Пример: True | |
| lastaccesstime вещественное число | успех, путь существует | Время последнего доступа к файлу, представленное в секундах с момента эпохи. Пример: 1477984205.15 | |
| lastwritetime вещественное число | успех, путь существует | Время последнего изменения файла, представленное в секундах с момента эпохи. Пример: 1477984205.15 | |
| lnk_source строка | успех, путь существует, путь является символической ссылкой или точкой соединения | Цель символической ссылки, нормализованная для удаленной файловой системы. Пример: C:\temp | |
| lnk_target строка | успех, путь существует, путь является символической ссылкой или точкой соединения | Цель символической ссылки. Обратите внимание, что относительные пути остаются относительными, вернёт null, если это не ссылка. Пример: temp | |
| nlink целое число | успех, путь существует | Количество ссылок на файл (жёсткие ссылки). Пример: 1 | |
| owner строка | успех, путь существует | Владелец файла. Пример: BUILTIN\Administrators | |
| path строка | успех, путь существует | Полный абсолютный путь к файлу. Пример: BUILTIN\Administrators | |
| sharename строка | успех, путь существует, путь является каталогом и isshared == True | Имя общего ресурса, если папка общая. Пример: file-share | |
| size целое число | успех, путь существует, путь является файлом | Размер файла в байтах. Пример: 1024 | |
| matched целое число | всегда | Количество файлов/папок, которые соответствуют критериям. Пример: 2 | |
Авторы
- Jordan Borean (@jborean93)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_find_module.html