Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
age
строка
Выбирает файлы, чей возраст равен или больше указанного времени.
Используйте отрицательное значение возраста для поиска файлов, чей возраст равен или меньше указанного времени.
Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву любого из этих слов (например, "1w").
age_stamp
строка
    Варианты:
  • atime
  • ctime
  • mtime ←
Выберите свойство файла, по которому сравнивается возраст.
contains
строка
Регулярное выражение или шаблон, который должен соответствовать содержимому файла.
depth
целое число
добавлен в 2.6
Установите максимальное количество уровней, на которые следует спуститься.
Установка recurse в no переопределит это значение, что фактически соответствует глубине 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.
Шаблоны ограничивают список возвращаемых файлов теми, имена которых соответствуют хотя бы одному из указанных шаблонов. Несколько шаблонов можно указать с помощью списка.
Шаблон сравнивается с базовым именем файла, исключая каталог.
При использовании регулярных выражений шаблон ДОЛЖЕН соответствовать ВСЕМУ имени файла, а не только его частям. Таким образом, если вы хотите найти все файлы, заканчивающиеся на .default, вам нужно использовать '.*\.default' как регулярное выражение, а не только '\.default'.
Этот параметр ожидает список, который может быть либо через запятую, либо в формате YAML. Если какой-либо из шаблонов содержит запятую, убедитесь, что вы поместили его в список, чтобы избежать нежелательного разделения шаблонов.

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

Авторы

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

Spec-Zone.ru

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