find - Возвращает список файлов по определённым критериям
Новая версия с 2.0.
Описание
- Возвращает список файлов, соответствующих заданным критериям. Критерии объединяются операцией И.
- Для систем Windows используйте модуль win_find.
Параметры
| параметр | обязательно | по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| age | нет | Выбирает файлы, чей возраст равен или больше указанного времени. Используйте отрицательное значение для выбора файлов, чей возраст равен или меньше указанного времени. Выберите секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "1w"). | ||
| age_stamp | нет | mtime |
| Выберите свойство файла, по которому сравнивается возраст. |
| contains | нет | Один или более регулярных выражений, которые должны соответствовать содержимому файла. | ||
| file_type | нет | file |
| Тип файла для выбора. Варианты 'link' и 'any' были добавлены в версии 2.3. |
| follow | нет | no |
| Установите значение в true, чтобы следовать символам-ссылкам в пути для систем с Python 2.6+. |
| get_checksum | нет | no |
| Установите значение в true, чтобы получить контрольную сумму sha1 файла. |
| hidden | нет | no |
| Установите значение в true, чтобы включить скрытые файлы, иначе они будут проигнорированы. |
| paths | да | Список путей каталогов для поиска. Все пути должны быть полными. псевдонимы: name, path | ||
| patterns | нет | * | Один или более шаблонов (оболочки или регулярные выражения), тип которых управляется опцией use_regex. Шаблоны ограничивают список возвращаемых файлов теми, чьи имена файлов соответствуют хотя бы одному из указанных шаблонов. Можно указать несколько шаблонов, используя список. псевдонимы: pattern | |
| recurse | нет | no |
| Если целевой объект является каталогом, рекурсивно перебирайте вложенные каталоги в поисках файлов. |
| size | нет | Выбирает файлы, размер которых равен или больше указанного размера. Используйте отрицательное значение для выбора файлов, размер которых равен или меньше указанного размера. Без суффикса значения в байтах, но можно добавить b, k, m, g или t для байтов, килобайтов, мегабайтов, гигабайтов и терабайтов соответственно. Размер не оценивается для каталогов. | ||
| use_regex | нет | no |
| Если false, шаблоны являются шаблонами оболочки (shell), если true — Python регулярными выражениями. |
Примеры
- 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения. Ниже приведены поля, уникальные для этого модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| examined | количество проверенных элементов файловой системы | успех | строка | 34 |
| files | все совпадения, найденные по заданным критериям (см. модуль stat для полного вывода каждого словаря) | успех | список | [{'path': '/var/tmp/test1', 'mode': '0644', '...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523'}, {'path': '/var/tmp/test2', '...': '...'}] |
| matched | количество совпадений | успех | строка | 14 |
Примечания
Примечание
- Для систем Windows используйте модуль win_find.
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых изменений интерфейса.
Информация о техническом обслуживании
Дополнительную информацию о поддержке этого модуля компанией Red Hat см. в knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>.
Для получения помощи в разработке модулей, если у вас есть желание, прочтите Информацию и рекомендации по участию в сообществе, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/find_module.html