ansible.builtin.find – Возвращает список файлов на основе определенных критериев
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля find даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь такое же имя модуля.
Добавлен в версии 2.0: of ansible.builtin
Описание
- Возвращает список файлов на основе определенных критериев. Несколько критериев объединяются по принципу И (AND).
- Для целевых систем Windows используйте модуль ansible.windows.win_find вместо этого.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| age строка | Выбирает файлы, чей возраст равен или больше указанного времени. Используйте отрицательное значение возраста, чтобы найти файлы, чей возраст равен или меньше указанного времени. Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "1w"). | |
| age_stamp строка |
| Выберите свойство файла, по которому сравнивается возраст. |
| contains строка | Регулярное выражение или шаблон, который должен совпадать с содержимым файла. Работает только когда file_type равен file. | |
| depth целое число добавлен в 2.6 of ansible.builtin | Установите максимальное количество уровней для спуска. Установление recurse в no переопределит это значение, что фактически эквивалентно глубине 1.По умолчанию глубина неограничена. | |
| excludes список / элементы=строка добавлен в 2.5 of ansible.builtin | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых определяется параметром use_regex.Элементы, имена базовых частей которых соответствуют шаблону excludes, исключаются из результатов поиска patterns. Несколько шаблонов можно указать с помощью списка.псевдонимы: exclude | |
| file_type строка |
| Тип файла для выбора. Варианты 'link' и 'any' были добавлены в Ansible 2.3. |
| follow логическое значение |
| Установите значение yes для следования символическим ссылкам в пути на системах с python 2.6+. |
| get_checksum логическое значение |
| Установите значение yes для получения SHA1 контрольной суммы файла. |
| hidden логическое значение |
| Установите значение yes для включения скрытых файлов, в противном случае они будут проигнорированы. |
| paths список / элементы=строка / обязательно | Список путей к каталогам для поиска. Все пути должны быть полными. псевдонимы: имя, путь | |
| patterns список / элементы=строка | По умолчанию: "*" | Один или несколько шаблонов (оболочки или регулярные выражения), тип которых определяется параметром use_regex.Шаблоны ограничивают список возвращаемых файлов теми, чьи имена базовых частей соответствуют хотя бы одному из указанных шаблонов. Несколько шаблонов могут быть указаны в виде списка. Шаблон сравнивается с именем базовой части файла, исключая директорию. При использовании регулярных выражений шаблон ДОЛЖЕН соответствовать ВСЕМУ имени файла, а не только частям его. Таким образом, если вы хотите сопоставить все файлы, оканчивающиеся на .default, вам нужно использовать '.*\.default' как regexp, а не просто '\.default'. Этот параметр ожидает список, который может быть либо отделён запятыми, либо представлен в формате YAML. Если любой из шаблонов содержит запятую, убедитесь, что вы поместили их в список, чтобы избежать нежелательного разделения шаблонов. псевдонимы: pattern |
| read_whole_file логическое значение добавлен в 2.11 of ansible.builtin |
| При поиске contains, определяет, должен ли весь файл считываться в память или регулярное выражение должно применяться к файлу построчно.Установка значения true может иметь последствия для производительности и использования памяти для больших файлов.Это использует re.search() вместо re.match(). |
| 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/find_module.html