stat - Получение состояния файла или файловой системы
Новое в версии 1.3.
Описание
- Получает информацию о файле, аналогично команде linux/unix ‘stat’.
- Для систем Windows используйте модуль win_stat.
Параметры
| параметр | обязательно | по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| checksum_algorithm (добавлен в 2.0)
| нет | sha1 |
| Алгоритм для определения контрольной суммы файла. Вызовет ошибку, если хост не поддерживает указанный алгоритм. псевдонимы: checksum, checksum_algo |
| follow | нет | нет |
| Следовать ли символичным ссылкам. |
| get_attributes (добавлен в 2.3)
| нет | да |
| Получить атрибуты файла с помощью инструмента lsattr, если он доступен. псевдонимы: attr, attributes |
| get_checksum (добавлен в 1.8)
| нет | да |
| Возвращать ли контрольную сумму файла (по умолчанию sha1). |
| get_md5 | нет | да |
| Возвращать ли md5 сумму файла. Вернет None, если это не обычный файл или если мы не можем использовать md5 (часто встречается на системах, совместимых с FIPS-140). |
| get_mime (добавлен в 2.1)
| нет | да |
| Использовать магию файлов и вернуть данные о природе файла. Использует утилиту 'file', которая есть на большинстве систем Linux/Unix. Добавит поля `mime_type` и 'charset' в результат, если возможно. В версии 2.3 этот параметр изменился с 'mime' на 'get_mime', а значение по умолчанию изменилось на 'да'. псевдонимы: mime, mime_type, mime-type |
| path | да | Полный путь к файлу/объекту, для которого необходимо получить информацию. |
Примеры
# 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
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| name | description | returned | type | sample | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| stat | словарь, содержащий все данные stat, некоторые платформы могут добавлять дополнительные поля | success | complex | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| contains: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Примечания
Примечание
- Для платформ Windows используйте модуль win_stat вместо этого.
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься изменения в интерфейс, несовместимые с предыдущими версиями.
Информация о техническом обслуживании
Дополнительную информацию о поддержке данного модуля компанией Red Hat можно найти по адресу knowledge base article<https://access.redhat.com/articles/rhel-top-support-policies>
Для получения помощи в разработке модулей, если у вас есть желание, прочитайте Информацию и вклад сообщества, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/stat_module.html