Spec-Zone.ru › Ansible 2.8

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

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

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

Описание

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

Параметры

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

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

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

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

Авторы

  • 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.8/modules/find_module.html

Spec-Zone.ru

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