Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать короткое имя модуля find даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь такое же имя модуля.

Добавлен в версии 2.0: of ansible.builtin

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
age
строка
Выбирает файлы, чей возраст равен или больше указанного времени.
Используйте отрицательное значение возраста, чтобы найти файлы, чей возраст равен или меньше указанного времени.
Вы можете выбрать секунды, минуты, часы, дни или недели, указав первую букву соответствующего слова (например, "1w").
age_stamp
строка
    Варианты:
  • atime
  • ctime
  • mtime ←
Выберите свойство файла, по которому сравнивается возраст.
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
строка
    Варианты:
  • any
  • directory
  • file ←
  • link
Тип файла для выбора.
Варианты '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

Spec-Zone.ru

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