ansible.builtin.find – Возврат списка файлов на основе определенных критериев
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев, вы можете использовать короткое имя модуля find даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 2.0: of ansible.builtin
Описание
- Возвращает список файлов на основе определенных критериев. Несколько критериев объединяются операцией И.
- Для целевых систем Windows используйте модуль ansible.windows.win_find вместо этого.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age строка | Выбирает файлы, чей возраст равен или больше указанного времени. Используйте отрицательное значение возраста, чтобы найти файлы, чей возраст равен или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "1w"). | |
| age_stamp строка |
| Выберите свойство файла, по которому сравнивается возраст. |
| contains строка | Регулярное выражение или шаблон, который должен совпасть с содержимым файла. | |
| depth целое число добавлено в 2.6 ansible.builtin | Установите максимальное количество уровней для спуска. Указание recurse в no переопределит это значение, что фактически равно глубине 1.По умолчанию глубина не ограничена. | |
| excludes список / элементы=строка добавлено в 2.5 of ansible.builtin | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых контролируется параметром use_regex. Элементы, имена базовых файлов которых соответствуют шаблону excludes, исключаются из результатов поиска patterns. Несколько шаблонов могут быть указаны в виде списка.псевдонимы: exclude | |
| file_type строка |
| Тип файла для выбора. Варианты 'ссылка' и 'любой' были добавлены в 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. |
См. также
См. также
- ansible.windows.win_find
-
Официальная документация модуля ansible.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'
# 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 для полного вывода каждого словаря) Пример: [{'...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523', 'mode': '0644', 'path': '/var/tmp/test1'}, {'...': '...', 'path': '/var/tmp/test2'}] |
| matched целое число | успех | Количество совпадений Пример: 14 |
Авторы
- 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.10/collections/ansible/builtin/find_module.html