Spec-Zone.ru › Ansible 2.7

find – Возвращение списка файлов на основе определенных критериев

Новая версия с 2.0.

  • Обзор
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Возвращает список файлов на основе определенных критериев. Несколько критериев объединяются оператором И.
  • Для целей Windows используйте модуль win_find вместо него.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
age
-
Выбирает файлы, возраст которых равен или больше указанного времени. Используйте отрицательное значение возраста для поиска файлов, возраст которых равен или меньше указанного времени. Можно выбрать секунды, минуты, часы, дни или недели, указав первую букву любого из этих слов (например, "1w").
age_stamp
-
    Варианты:
  • atime
  • ctime
  • mtime ←
Выбирает свойство файла, по которому сравнивается возраст.
contains
-
Один или несколько шаблонов регулярных выражений, которые должны соответствовать содержимому файла.
depth
-
добавлен в 2.6
Устанавливает максимальное количество уровней для спуска. Установка recurse в false переопределит это значение, что соответствует глубине 1. По умолчанию глубина не ограничена.
excludes
-
добавлен в 2.5
Один или несколько шаблонов (оболочки или регулярные выражения), тип которых контролируется параметром use_regex.
Элементы, соответствующие шаблону excludes, исключаются из результатов поиска patterns. Можно указать несколько шаблонов в списке.

псевдонимы: exclude
file_type
-
    Варианты:
  • any
  • directory
  • file ←
  • link
Тип файла для выбора.
Варианты 'link' и 'any' были добавлены в версии 2.3.
follow
boolean
    Варианты:
  • no ←
  • yes
Установите в значение true для отслеживания символических ссылок в пути для систем с python 2.6+.
get_checksum
boolean
    Варианты:
  • no ←
  • yes
Установите в значение true для получения контрольной суммы sha1 файла.
hidden
boolean
    Варианты:
  • no ←
  • yes
Установите в значение true, чтобы включить скрытые файлы, иначе они будут проигнорированы.
paths
- / обязательно
Список путей к каталогам для поиска. Все пути должны быть полными.

псевдонимы: name, path
patterns
-
По умолчанию:
"*"
Один или несколько шаблонов (оболочки или регулярные выражения), тип которых контролируется параметром use_regex.
Шаблоны ограничивают список возвращаемых файлов теми, имена которых соответствуют хотя бы одному из указанных шаблонов. Можно указать несколько шаблонов в списке.

псевдонимы: pattern
recurse
boolean
    Варианты:
  • no ←
  • yes
Если целевой объект — каталог, рекурсивно переходить в каталог в поисках файлов.
size
-
Выбирает файлы, размер которых равен или больше указанного размера. Используйте отрицательное значение размера для поиска файлов, размер которых равен или меньше указанного размера. Неопределенные значения указаны в байтах, но можно добавить b, k, m, g и t для указания байтов, килобайтов, мегабайтов, гигабайтов и терабайтов соответственно. Размер каталогов не учитывается.
use_regex
boolean
    Варианты:
  • no ←
  • yes
Если false, шаблоны — шаблоны оболочки (shell). Если 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
строка
успех
Количество просмотренных объектов файловой системы

Пример:
34
files
список
успех
все найденные соответствия с указанными критериями (см. модуль stat для полного вывода каждого словаря)

Пример:
[{'path': '/var/tmp/test1', 'mode': '0644', '...': '...', 'checksum': '16fac7be61a6e4591a33ef4b729c5c3302307523'}, {'path': '/var/tmp/test2', '...': '...'}]
matched
строка
успех
количество соответствий

Пример:
14


Статус

  • Гарантируется отсутствие обратной несовместимости в этом модуле. [stableinterface]
  • Этот модуль поддерживается командой Ansible Core. [core]

Поддержка Red Hat

Дополнительную информацию о поддержке этого модуля компанией Red Hat можно найти в этой статье базы знаний Red Hat.

Авторы

  • Брайан Кока (на основе 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.7/modules/find_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API