find – Возвращение списка файлов на основе определенных критериев
Описание
- Возвращает список файлов на основе определенных критериев. Критерии объединяются с помощью логического И.
- Для целей Windows используйте модуль win_find вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age строка | Выбирает файлы, чей возраст равен или больше указанного времени. Используйте отрицательное значение возраста для поиска файлов, чей возраст равен или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву любого из этих слов (например, "1w"). | |
| age_stamp строка |
| Выберите свойство файла, по которому сравнивается возраст. |
| contains строка | Регулярное выражение или шаблон, который должен соответствовать содержимому файла. | |
| depth целое число добавлен в 2.6 | Установите максимальное количество уровней, на которые следует спуститься. Установка recurse в no переопределит это значение, что фактически соответствует глубине 1.По умолчанию глубина неограничена. | |
| excludes список добавлен в 2.5 | Один или несколько (оболочковых или регулярных выражений) шаблонов, тип которых контролируется параметром use_regex. Элементы, имена которых соответствуют шаблону excludes, исключаются из результатов patterns. Несколько шаблонов могут быть заданы с помощью списка.псевдонимы: exclude | |
| file_type строка |
| Тип файла для выбора. Выбор 'link' и 'any' был добавлен в Ansible 2.3. |
| follow логическое значение |
| Установите значение yes, чтобы следить за символическими ссылками в пути для систем с python 2.6+. |
| get_checksum логическое значение |
| Установите значение yes, чтобы получить контрольную сумму SHA1 файла. |
| hidden логическое значение |
| Установите значение yes, чтобы включать скрытые файлы, в противном случае они будут игнорироваться. |
| paths список / обязательно | Список путей каталогов для поиска. Все пути должны быть полными. псевдонимы: name, path | |
| patterns список | По умолчанию: "*" | Один или несколько (оболочковых или регулярных выражений) шаблонов, тип которых контролируется параметром use_regex. Шаблоны ограничивают список возвращаемых файлов теми, имена которых соответствуют хотя бы одному из указанных шаблонов. Несколько шаблонов можно указать с помощью списка. Шаблон сравнивается с базовым именем файла, исключая каталог. При использовании регулярных выражений шаблон ДОЛЖЕН соответствовать ВСЕМУ имени файла, а не только его частям. Таким образом, если вы хотите найти все файлы, заканчивающиеся на .default, вам нужно использовать '.*\.default' как регулярное выражение, а не только '\.default'. Этот параметр ожидает список, который может быть либо через запятую, либо в формате YAML. Если какой-либо из шаблонов содержит запятую, убедитесь, что вы поместили его в список, чтобы избежать нежелательного разделения шаблонов. псевдонимы: pattern |
| recurse логическое значение |
| Если целевой объект - каталог, рекурсивно спуститься в каталог в поисках файлов. |
| size - | Выбирает файлы, размер которых равен или больше указанного размера. Используйте отрицательное значение размера для поиска файлов, размер которых равен или меньше указанного размера. Неопределенные значения измеряются в байтах, но можно добавить b, k, m, g, и t, чтобы указать байты, килобайты, мегабайты, гигабайты и терабайты соответственно. Размер каталогов не оценивается. | |
| use_regex логическое значение |
| Если no, шаблоны представляют собой оболочковые шаблоны.Если yes, они представляют собой регулярные выражения Python. |
См. также
См. также
- win_find – Возвращение списка файлов на основе определенных критериев
- Официальная документация модуля 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'
# When using patterns that contain a comma, make sure they are formatted as lists to avoid splitting the pattern
- name: Use a single pattern that contains a comma formatted as a list
find:
paths: /var/log
file_type: file
use_regex: yes
patterns: ['^_[0-9]{2,4}_.*.log$']
- name: Use multiple patterns that contain a comma formatted as a YAML list
find:
paths: /var/log
file_type: file
use_regex: yes
patterns:
- '^_[0-9]{2,4}_.*.log$'
- '^[a-z]{1,5}_.*log$'
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| examined целое число | успех | Количество файловых объектов, на которые было обращено внимание Пример: 34 |
| files список | успех | Все найденные совпадения с указанными критериями (см. модуль stat для полного вывода каждого словаря) Пример: [{'path': '/var/tmp/test1', 'mode': '0644', '...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523'}, {'path': '/var/tmp/test2', '...': '...'}] |
| matched целое число | успех | Количество совпадений Пример: 14 |
Статус
- Этот модуль гарантированно имеет обратную совместимость в будущих изменениях интерфейса. [stableinterface]
- Этот модуль поддерживается командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительную информацию о поддержке Red Hat данного модуля можно найти в статье базы знаний Red Hat по этому ссылке.
Авторы
- Brian Coca (@bcoca)
Подсказка
Если вы обнаружите какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/find_module.html