find – Возвращение списка файлов на основе определенных критериев
Новая версия с 2.0.
Обзор
- Возвращает список файлов на основе определенных критериев. Несколько критериев объединяются оператором И.
- Для целей Windows используйте модуль win_find вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age - | Выбирает файлы, возраст которых равен или больше указанного времени. Используйте отрицательное значение возраста для поиска файлов, возраст которых равен или меньше указанного времени. Можно выбрать секунды, минуты, часы, дни или недели, указав первую букву любого из этих слов (например, "1w"). | |
| age_stamp - |
| Выбирает свойство файла, по которому сравнивается возраст. |
| contains - | Один или несколько шаблонов регулярных выражений, которые должны соответствовать содержимому файла. | |
| depth - добавлен в 2.6 | Устанавливает максимальное количество уровней для спуска. Установка recurse в false переопределит это значение, что соответствует глубине 1. По умолчанию глубина не ограничена. | |
| excludes - добавлен в 2.5 | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых контролируется параметром use_regex. Элементы, соответствующие шаблону excludes, исключаются из результатов поиска patterns. Можно указать несколько шаблонов в списке.псевдонимы: exclude | |
| file_type - |
| Тип файла для выбора. Варианты 'link' и 'any' были добавлены в версии 2.3. |
| follow boolean |
| Установите в значение true для отслеживания символических ссылок в пути для систем с python 2.6+. |
| get_checksum boolean |
| Установите в значение true для получения контрольной суммы sha1 файла. |
| hidden boolean |
| Установите в значение true, чтобы включить скрытые файлы, иначе они будут проигнорированы. |
| paths - / обязательно | Список путей к каталогам для поиска. Все пути должны быть полными. псевдонимы: name, path | |
| patterns - | По умолчанию: "*" | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых контролируется параметром use_regex. Шаблоны ограничивают список возвращаемых файлов теми, имена которых соответствуют хотя бы одному из указанных шаблонов. Можно указать несколько шаблонов в списке. псевдонимы: pattern |
| recurse boolean |
| Если целевой объект — каталог, рекурсивно переходить в каталог в поисках файлов. |
| size - | Выбирает файлы, размер которых равен или больше указанного размера. Используйте отрицательное значение размера для поиска файлов, размер которых равен или меньше указанного размера. Неопределенные значения указаны в байтах, но можно добавить b, k, m, g и t для указания байтов, килобайтов, мегабайтов, гигабайтов и терабайтов соответственно. Размер каталогов не учитывается. | |
| use_regex boolean |
| Если false, шаблоны — шаблоны оболочки (shell). Если true, это шаблоны регулярных выражений Python. |
Примечания
Примечание
- Для целей Windows используйте модуль win_find вместо него.
Примеры
- name: Recursively find /tmp files older than 2 days
find:
paths: /tmp
age: 2d
recurse: yes
- name: Recursively find /tmp files older than 4 weeks and equal or greater than 1 megabyte
find:
paths: /tmp
age: 4w
size: 1m
recurse: yes
- name: Recursively find /var/tmp files with last access time greater than 3600 seconds
find:
paths: /var/tmp
age: 3600
age_stamp: atime
recurse: yes
- name: Find /var/log files equal or greater than 10 megabytes ending with .old or .log.gz
find:
paths: /var/log
patterns: '*.old,*.log.gz'
size: 10m
# Note that YAML double quotes require escaping backslashes but yaml single quotes do not.
- name: Find /var/log files equal or greater than 10 megabytes ending with .old or .log.gz via regex
find:
paths: /var/log
patterns: "^.*?\\.(?:old|log\\.gz)$"
size: 10m
use_regex: yes
- name: Find /var/log all directories, exclude nginx and mysql
find:
paths: /var/log
recurse: no
file_type: directory
excludes: 'nginx,mysql'
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| examined строка | успех | Количество просмотренных объектов файловой системы Пример: 34 |
| files список | успех | все найденные соответствия с указанными критериями (см. модуль stat для полного вывода каждого словаря) Пример: [{'path': '/var/tmp/test1', 'mode': '0644', '...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523'}, {'path': '/var/tmp/test2', '...': '...'}] |
| matched строка | успех | количество соответствий Пример: 14 |
Статус
- Гарантируется отсутствие обратной несовместимости в этом модуле. [stableinterface]
- Этот модуль поддерживается командой Ansible Core. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.
Авторы
- Брайан Кока (на основе Tidy Руджеро Маркеи)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/find_module.html