find - Возвращает список файлов на основе определенных критериев
Введено в версии 2.0.
Описание
- Возвращает список файлов на основе определенных критериев. Несколько критериев объединяются оператором И.
- Для систем Windows используйте модуль win_find.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age | Выбирает файлы, возраст которых равен или больше указанного времени. Используйте отрицательный возраст для выбора файлов, возраст которых равен или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "1w"). | |
| age_stamp |
| Выберите свойство файла, по которому сравнивается возраст. |
| contains | Один или несколько шаблонов регулярных выражений, которые должны соответствовать содержимому файла. | |
| depth (добавлено в 2.6) | Установите максимальное количество уровней для перехода внутрь. Установка recurse в false переопределит это значение, что эффективно соответствует глубине 1. По умолчанию глубина неограничена. | |
| excludes (добавлено в 2.5) | Один или несколько шаблонов (оболочки или регулярных выражений), тип которых управляется опцией use_regex. excludes - шаблоны, которые не должны возвращаться в списке. Можно указать несколько шаблонов, используя список. Псевдонимы: exclude | |
| file_type |
| Тип файла для выбора. Варианты 'link' и 'any' были добавлены в версии 2.3. |
| follow bool |
| Установите в true, чтобы следовать символьным ссылкам в пути для систем с python 2.6+. |
| get_checksum bool |
| Установите в true, чтобы получить контрольную сумму sha1 файла. |
| hidden bool |
| Установите в true, чтобы включить скрытые файлы, в противном случае они будут проигнорированы. |
| paths обязательно | Список путей к каталогам для поиска. Все пути должны быть полными. Псевдонимы: name, path | |
| patterns | По умолчанию: "*" | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых управляется опцией use_regex. Шаблоны ограничивают список возвращаемых файлов теми, имена которых соответствуют хотя бы одному из указанных шаблонов. Можно указать несколько шаблонов, используя список. Псевдонимы: pattern |
| recurse bool |
| Если целевое значение является каталогом, рекурсивно переходите в каталог в поисках файлов. |
| size | Выбирает файлы, размер которых равен или больше указанного размера. Используйте отрицательный размер, чтобы найти файлы, размер которых равен или меньше указанного размера. Без квалификаторов значения в байтах, но можно добавить b, k, m, g или t для указания байтов, килобайтов, мегабайтов, гигабайтов и терабайтов соответственно. Размер не оценивается для каталогов. | |
| use_regex bool |
| Если false, шаблоны являются шаблонами файловых имен (оболочка), если 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 string | success | количество просмотренных объектов файловой системы Пример: 34 |
| files list | success | все совпадения, найденные по указанным критериям (см. модуль stat для получения полного вывода каждого словаря) Пример: [{'path': '/var/tmp/test1', 'mode': '0644', '...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523'}, {'path': '/var/tmp/test2', '...': '...'}] |
| matched string | success | количество совпадений Пример: 14 |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики данного модуля гарантируют, что не будет внесено обратной совместимости.
Техническое обслуживание
Этот модуль помечен как core, что означает, что его поддерживает команда Ansible Core. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых командой Ansible Core, см. здесь.
Поддержка
Дополнительную информацию о поддержке данного модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Brian Coca (на основе 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.6/modules/find_module.html