ansible.builtin.stat – Получение состояния файла или файловой системы
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев, вы можете использовать короткое имя модуля stat даже без указания collections: ключевого слова. Несмотря на это, мы рекомендуем использовать FQCN для лёгкой ссылки на документацию модуля и для избежания конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 1.3: of ansible.builtin
Описание
- Получает данные о файле, аналогично команде Linux/Unix ‘stat’.
- Для целевых систем Windows используйте модуль ansible.windows.win_stat вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| checksum_algorithm строка добавлен в 2.0 версии ansible.builtin |
| Алгоритм определения контрольной суммы файла. Вызовет ошибку, если хост не может использовать указанный алгоритм. Удаленный хост должен поддерживать указанный метод хеширования, md5 может быть недоступен, если хост соответствует стандарту FIPS-140.псевдонимы: checksum, checksum_algo |
| follow булево |
| Следовать ли символическим ссылкам. |
| get_attributes булево добавлен в 2.3 версии ansible.builtin |
| Получить атрибуты файла с помощью инструмента lsattr, если он есть. псевдонимы: attr, attributes |
| get_checksum булево добавлен в 1.8 версии ansible.builtin |
| Возвращать ли контрольную сумму файла. |
| get_mime булево добавлен в 2.1 версии ansible.builtin |
| Использовать магию файлов и возвращать данные о природе файла. Использует утилиту 'file', которая есть на большинстве систем Linux/Unix. Это добавит поля `mime_type` и 'charset' в возврат, если возможно. В Ansible 2.3 этот параметр изменился с 'mime' на 'get_mime', а значение по умолчанию изменилось на 'Да'. псевдонимы: mime, mime_type, mime-type |
| path путь / обязательно | Полный путь к файлу/объекту, для которого нужно получить данные. псевдонимы: dest, name |
Примечания
Примечание
- Поддерживает
check_mode.
См. также
См. также
- ansible.builtin.file
-
Официальная документация модуля ansible.builtin.file.
- ansible.windows.win_stat
-
Официальная документация модуля ansible.windows.win_stat.
Примеры
# Obtain the stats of /etc/foo.conf, and check that the file still belongs
# to 'root'. Fail otherwise.
- name: Get stats of a file
ansible.builtin.stat:
path: /etc/foo.conf
register: st
- name: Fail if the file does not belong to 'root'
ansible.builtin.fail:
msg: "Whoops! file ownership has changed"
when: st.stat.pw_name != 'root'
# Determine if a path exists and is a symlink. Note that if the path does
# not exist, and we test sym.stat.islnk, it will fail with an error. So
# therefore, we must test whether it is defined.
# Run this to understand the structure, the skipped ones do not pass the
# check performed by 'when'
- name: Get stats of the FS object
ansible.builtin.stat:
path: /path/to/something
register: sym
- name: Print a debug message
ansible.builtin.debug:
msg: "islnk isn't defined (path doesn't exist)"
when: sym.stat.islnk is not defined
- name: Print a debug message
ansible.builtin.debug:
msg: "islnk is defined (path must exist)"
when: sym.stat.islnk is defined
- name: Print a debug message
ansible.builtin.debug:
msg: "Path exists and is a symlink"
when: sym.stat.islnk is defined and sym.stat.islnk
- name: Print a debug message
ansible.builtin.debug:
msg: "Path exists and isn't a symlink"
when: sym.stat.islnk is defined and sym.stat.islnk == False
# Determine if a path exists and is a directory. Note that we need to test
# both that p.stat.isdir actually exists, and also that it's set to true.
- name: Get stats of the FS object
ansible.builtin.stat:
path: /path/to/something
register: p
- name: Print a debug message
ansible.builtin.debug:
msg: "Path exists and is a directory"
when: p.stat.isdir is defined and p.stat.isdir
- name: Don not do checksum
ansible.builtin.stat:
path: /path/to/myhugefile
get_checksum: no
- name: Use sha256 to calculate checksum
ansible.builtin.stat:
path: /path/to/something
checksum_algorithm: sha256
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| stat сложный | успех | Словарь, содержащий все данные stat, некоторые платформы могут добавить дополнительные поля. | |
| atime число с плавающей точкой | успех, путь существует и пользователь может прочитать статистику | Время последнего доступа Пример: 1424348972.575 | |
| attributes список / элементы=строка добавлено в версии 2.3 ansible.builtin | успех, путь существует и пользователь может выполнить путь | Список атрибутов файла Пример: ['immutable', 'extent'] | |
| charset строка | успех, путь существует и пользователь может прочитать статистику, установленный Python поддерживает это, и параметр `mime` был true; в случае ошибки вернёт 'unknown'. | Набор символов или кодировка файла Пример: us-ascii | |
| checksum строка | успех, путь существует, пользователь может прочитать статистику, путь поддерживает хеширование, и алгоритм хеширования доступен | Хеш файла Пример: 50ba294cdf28c0d5bcde25708df53346825a429f | |
| ctime число с плавающей точкой | успех, путь существует и пользователь может прочитать статистику | Время последнего обновления или создания метаданных (зависит от ОС) Пример: 1424348972.575 | |
| dev целое число | успех, путь существует и пользователь может прочитать статистику | Устройство, на котором находится i-узле Пример: 33 | |
| executable логическое значение добавлено в версии 2.2 ansible.builtin | успех, путь существует и пользователь может выполнить путь | Указывает, есть ли у вызывающего пользователя разрешение на выполнение пути | |
| exists логическое значение | успех | Существует ли фактически путь назначения Пример: True | |
| gid целое число | успех, путь существует и пользователь может прочитать статистику | Числовой идентификатор, представляющий группу владельца Пример: 1003 | |
| gr_name строка | успех, путь существует и пользователь может прочитать статистику, установленный Python поддерживает это | Имя группы владельца Пример: www-data | |
| inode целое число | успех, путь существует и пользователь может прочитать статистику | Номер i-узла пути Пример: 12758 | |
| isblk логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь блочным устройством | |
| ischr логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь символьным устройством | |
| isdir логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь каталогом | |
| isfifo логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь именованной очередью | |
| isgid логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, совпадает ли идентификатор группы вызывающего пользователя с идентификатором группы владельца | |
| islnk логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь символической ссылкой | |
| isreg логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь обычным файлом Пример: True | |
| issock логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, является ли путь сокетом Unix-домена | |
| isuid логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, совпадает ли идентификатор пользователя, вызвавшего функцию, с идентификатором владельца | |
| lnk_source строка | успех, путь существует и пользователь может прочитать статистику, и путь является символической ссылкой | Целевой объект символической ссылки, нормализованный для удалённой файловой системы Пример: /home/foobar/21102015-1445431274-908472971 | |
| lnk_target строка добавлено в версии 2.4 ansible.builtin | успех, путь существует и пользователь может прочитать статистику, и путь является символической ссылкой | Целевой объект символической ссылки. Обратите внимание, что относительные пути остаются относительными Пример: ../foobar/21102015-1445431274-908472971 | |
| md5 строка | успех, путь существует и пользователь может прочитать статистику, путь поддерживает хеширование и поддерживается md5 | Хеш md5 файла; эта функция будет удалена в Ansible 2.9 в пользу возвращаемого значения checksum Пример: f88fa92d8cf2eeecf4c0a50ccc96d0c0 | |
| mimetype строка | успех, путь существует и пользователь может прочитать статистику, установленный Python поддерживает это, и параметр `mime` был true; в случае ошибки вернёт 'unknown'. | Магические данные файла или тип MIME Пример: application/pdf; charset=binary | |
| mode строка | успех, путь существует и пользователь может прочитать статистику | Разрешения Unix-файла в восьмеричном представлении как строка Пример: 1755 | |
| mtime число с плавающей точкой | успех, путь существует и пользователь может прочитать статистику | Время последнего изменения Пример: 1424348972.575 | |
| nlink целое число | успех, путь существует и пользователь может прочитать статистику | Количество ссылок на i-узел (жёсткие ссылки) Пример: 1 | |
| path строка | успех и если путь существует | Полный путь к файлу/объекту, для которого нужно получить данные Пример: /path/to/file | |
| pw_name строка | успех, путь существует и пользователь может прочитать статистику, установленный Python поддерживает это | Имя пользователя владельца Пример: httpd | |
| readable логическое значение добавлено в версии 2.2 ansible.builtin | успех, путь существует и пользователь может прочитать путь | Указывает, может ли вызывающий пользователь читать путь | |
| rgrp логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеет ли группа владельца разрешение на чтение Пример: True | |
| roth логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеют ли другие разрешение на чтение Пример: True | |
| rusr логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеет ли владелец разрешение на чтение Пример: True | |
| size целое число | успех, путь существует и пользователь может прочитать статистику | Размер в байтах для простого файла, количество данных для некоторых специальных файлов Пример: 203 | |
| uid целое число | успех, путь существует и пользователь может прочитать статистику | Числовой идентификатор, представляющий владельца файла Пример: 1003 | |
| wgrp логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеет ли группа владельца разрешение на запись | |
| woth логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеют ли другие разрешение на запись | |
| writeable логическое значение добавлено в версии 2.2 ansible.builtin | успех, путь существует и пользователь может записать в путь | Указывает, может ли вызывающий пользователь записать в путь | |
| wusr логическое значение | успех, путь существует и пользователь может прочитать статистику | Указывает, имеет ли владелец разрешение на запись Пример: True | |
| xgrp boolean | успех, путь существует и пользователь может читать статистику | Указывает, имеет ли группа владельца разрешение на выполнение Пример: True | |
| xoth boolean | успех, путь существует и пользователь может читать статистику | Указывает, имеют ли другие разрешение на выполнение Пример: True | |
| xusr boolean | успех, путь существует и пользователь может читать статистику | Указывает, имеет ли владелец разрешение на выполнение Пример: True |
Авторы
- Брюс Пеннипекер (@bpennypacker)
© 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/stat_module.html