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 логический тип |
| Установите это в yes для отслеживания символических ссылок в пути.Это необходимо использовать в сочетании с 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_find_module.html