stat - Получение статуса файла или файловой системы
Новое в версии 1.3.
Описание
- Получает информацию о файле, аналогично команде linux/unix ‘stat’.
- Для систем Windows используйте модуль win_stat.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| checksum_algorithm (добавлен в 2.0) |
| Алгоритм для определения контрольной суммы файла. Вызовет ошибку, если хост не поддерживает указанный алгоритм. Удаленный хост должен поддерживать выбранный метод хеширования. md5 может быть недоступен, если хост соответствует стандарту FIPS-140.Псевдонимы: checksum, checksum_algo |
| follow bool |
| Следовать ли ссылкам (символическим ссылкам). |
| get_attributes bool (добавлен в 2.3) |
| Получить атрибуты файла с помощью утилиты lsattr, если она доступна. Псевдонимы: attr, attributes |
| get_checksum bool (добавлен в 1.8) |
| Возвращать ли контрольную сумму файла (по умолчанию sha1). |
| get_md5 bool |
| Возвращать ли значение md5 суммы файла. Вернет None, если файл не является обычным файлом или если мы не можем использовать md5 (часто встречается на системах, соответствующих FIPS-140). По умолчанию изменилось с yes на no в Ansible 2.5 и будет удалено в Ansible 2.9.Используйте get_checksum=true с checksum_algorithm=md5 для возврата md5 хеша в поле checksum. |
| get_mime bool (добавлен в 2.1) |
| Использовать магию файлов и вернуть данные о типе файла. Используется утилита 'file', которая есть на большинстве систем Linux/Unix. Добавит поля `mime_type` и 'charset' в возвращаемое значение, если возможно. В версии 2.3 этот параметр изменился с 'mime' на 'get_mime', а значение по умолчанию изменилось на 'Да'. Псевдонимы: mime, mime_type, mime-type |
| path обязательно | Полный путь к файлу/объекту, для которого нужно получить данные. |
Примечания
Примечание
- Для систем Windows используйте модуль win_stat.
Примеры
# Obtain the stats of /etc/foo.conf, and check that the file still belongs
# to 'root'. Fail otherwise.
- stat:
path: /etc/foo.conf
register: st
- 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'
- stat:
path: /path/to/something
register: sym
- debug:
msg: "islnk isn't defined (path doesn't exist)"
when: sym.stat.islnk is not defined
- debug:
msg: "islnk is defined (path must exist)"
when: sym.stat.islnk is defined
- debug:
msg: "Path exists and is a symlink"
when: sym.stat.islnk is defined and sym.stat.islnk
- 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.
- stat:
path: /path/to/something
register: p
- debug:
msg: "Path exists and is a directory"
when: p.stat.isdir is defined and p.stat.isdir
# Don't do md5 checksum
- stat:
path: /path/to/myhugefile
get_md5: no
# Use sha256 to calculate checksum
- stat:
path: /path/to/something
checksum_algorithm: sha256
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| stat сложный | успех | словарь, содержащий все данные stat, некоторые платформы могут добавить дополнительные поля | |
| exists логическое | успех | указывает, существует ли целевой путь или нет Пример: True | |
| path строка | успех и если путь существует | Полный путь к файлу/объекту, для которого нужно получить информацию Пример: /path/to/file | |
| mode восьмеричный | успех, путь существует и пользователь может читать статистику | Разрешения Unix файла в восьмеричном формате Пример: 1755 | |
| isdir логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь каталогом | |
| ischr логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь устройством символьного типа | |
| isblk логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь устройством блочного типа | |
| isreg логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь обычным файлом Пример: True | |
| isfifo логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь именованной трубой | |
| islnk логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь символической ссылкой | |
| issock логическое | успех, путь существует и пользователь может читать статистику | Указывает, является ли путь сокетом доменной области Unix | |
| uid целое число | успех, путь существует и пользователь может читать статистику | Числовой идентификатор владельца файла Пример: 1003 | |
| gid целое число | успех, путь существует и пользователь может читать статистику | Числовой идентификатор группы владельца Пример: 1003 | |
| size целое число | успех, путь существует и пользователь может читать статистику | Размер в байтах для обычного файла, количество данных для некоторых специальных файлов Пример: 203 | |
| inode целое число | успех, путь существует и пользователь может читать статистику | Номер узла пути Пример: 12758 | |
| dev целое число | успех, путь существует и пользователь может читать статистику | Устройство, на котором находится узел Пример: 33 | |
| nlink целое число | успех, путь существует и пользователь может читать статистику | Количество ссылок на узел (жёсткие ссылки) Пример: 1 | |
| atime вещественное число | успех, путь существует и пользователь может читать статистику | Время последнего доступа Пример: 1424348972.575 | |
| mtime вещественное число | успех, путь существует и пользователь может читать статистику | Время последнего изменения Пример: 1424348972.575 | |
| ctime вещественное число | успех, путь существует и пользователь может читать статистику | Время последнего обновления или создания метаданных (зависит от ОС) Пример: 1424348972.575 | |
| wusr логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у владельца право на запись Пример: True | |
| rusr логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у владельца право на чтение Пример: True | |
| xusr логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у владельца право на выполнение Пример: True | |
| wgrp логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у группы владельца право на запись | |
| rgrp логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у группы владельца право на чтение Пример: True | |
| xgrp логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у группы владельца право на выполнение Пример: True | |
| woth логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у других пользователей право на запись | |
| roth логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у других пользователей право на чтение Пример: True | |
| xoth логическое | успех, путь существует и пользователь может читать статистику | Указывает, есть ли у других пользователей право на выполнение Пример: True | |
| isuid логическое | успех, путь существует и пользователь может читать статистику | Указывает, соответствует ли идентификатор вызывающего пользователя идентификатору владельца | |
| isgid логическое | успех, путь существует и пользователь может читать статистику | Указывает, соответствует ли идентификатор группы вызывающего пользователя идентификатору группы владельца | |
| lnk_source строка | успех, путь существует и пользователь может читать статистику, и путь — символическая ссылка | Нормализованная цель символической ссылки для удалённой файловой системы Пример: /home/foobar/21102015-1445431274-908472971 | |
| lnk_target строка (добавлен в 2.4) | успех, путь существует и пользователь может читать статистику, и путь — символическая ссылка | Цель символической ссылки. Обратите внимание, что относительные пути остаются относительными Пример: ../foobar/21102015-1445431274-908472971 | |
| md5 строка | успех, путь существует и пользователь может читать статистику, и путь поддерживает хэширование и md5 поддерживается | Хеш md5 пути; эта информация будет удалена в Ansible 2.9 в пользу значения возвращаемой контрольной суммы Пример: f88fa92d8cf2eeecf4c0a50ccc96d0c0 | |
| checksum строка | успех, путь существует, пользователь может читать статистику, путь поддерживает хэширование, и алгоритм контрольной суммы доступен | Хеш пути Пример: 50ba294cdf28c0d5bcde25708df53346825a429f | |
| pw_name строка | успех, путь существует и пользователь может читать статистику, и установленный Python его поддерживает | Имя пользователя владельца Пример: httpd | |
| gr_name строка | успех, путь существует и пользователь может читать статистику, и установленный Python его поддерживает | Имя группы владельца Пример: www-data | |
| mime_type строка | успех, путь существует и пользователь может читать статистику, и установленный Python его поддерживает, и параметр `mime` был true; в случае ошибки вернёт 'unknown'. | Данные магической информации о типе файла или тип MIME Пример: PDF документ, версия 1.2 | |
| charset строка | успех, путь существует и пользователь может читать статистику, и установленный Python его поддерживает, и параметр `mime` был true; в случае ошибки вернёт 'unknown'. | Набор символов или кодировка файла Пример: us-ascii | |
| readable логическое значение (добавлен в 2.2) | успех, путь существует, и пользователь может прочитать путь | Указывает, может ли вызывающий пользователь читать путь | |
| writeable логическое значение (добавлен в 2.2) | успех, путь существует, и пользователь может записать в путь | Указывает, может ли вызывающий пользователь записывать в путь | |
| executable логическое значение (добавлен в 2.2) | успех, путь существует, и пользователь может выполнить путь | Указывает, может ли вызывающий пользователь выполнить путь | |
| attributes список (добавлен в 2.3) | успех, путь существует, и пользователь может выполнить путь | Список атрибутов файла Пример: ['immutable', 'extent'] |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики данного модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как core, что означает, что он поддерживается Ansible Core Team. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых Ansible Core Team, см. в разделе здесь.
Поддержка
Дополнительную информацию о поддержке данного модуля компанией Red Hat см. в этой статье базы знаний
Автор
- Bruce Pennypacker (@bpennypacker)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/stat_module.html