Spec-Zone.ru › Ansible 2.9

stat – Получение состояния файла или файловой системы

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

Описание

  • Получает данные о файле, аналогично команде Linux/Unix ‘stat’.
  • Для целевых систем Windows используйте модуль win_stat.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
checksum_algorithm
строка
    Варианты:
  • md5
  • sha1 ←
  • sha224
  • sha256
  • sha384
  • sha512
Алгоритм определения контрольной суммы файла.
Вызовет ошибку, если хост не может использовать указанный алгоритм.
Удаленный хост должен поддерживать указанный метод хеширования, md5 может быть недоступен, если хост соответствует стандарту FIPS-140.

псевдонимы: checksum, checksum_algo
follow
булево
    Варианты:
  • нет ←
  • да
Следовать ли символичным ссылкам.
get_attributes
булево
    Варианты:
  • нет
  • да ←
Получить атрибуты файла с помощью инструмента lsattr, если он доступен.

псевдонимы: attr, attributes
get_checksum
булево
    Варианты:
  • нет
  • да ←
Возвращать ли контрольную сумму файла.
get_mime
булево
    Варианты:
  • нет
  • да ←
Использовать магические числа файлов и вернуть данные о природе файла. Используется утилита 'file', присутствующая в большинстве систем Linux/Unix.
Это добавит поля `mime_type` и 'charset' в результат, если возможно.
В Ansible 2.3 этот параметр был изменён с 'mime' на 'get_mime', а значение по умолчанию стало 'да'.

псевдонимы: mime, mime_type, mime-type
path
путь / обязательно
Полный путь к файлу/объекту, для которого нужно получить информацию.

См. также

См. также

file – Управление файлами и свойствами
Официальная документация по модулю file.
win_stat – Получение информации о файлах 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 checksum
- stat:
    path: /path/to/myhugefile
    get_checksum: no

# Use sha256 to calculate checksum
- stat:
    path: /path/to/something
    checksum_algorithm: sha256

Возвращаемые значения

Общие возвращаемые значения документированы здесь, следующие — поля, уникальные для этого модуля:

Ключ Возвращаемое значение Описание
stat
сложный
успех
словарь, содержащий все данные stat, некоторые платформы могут добавить дополнительные поля

atime
вещественное число
успех, путь существует и пользователь может читать статистику
Время последнего доступа

Пример:
1424348972.575
attributes
список
добавлено в 2.3
успех, путь существует и пользователь может выполнить путь
список атрибутов файла

Пример:
['immutable', 'extent']
charset
строка
успех, путь существует и пользователь может читать статистику, установленный Python поддерживает это, и опция `mime` была true, в противном случае вернёт 'unknown'.
кодовая страница или кодировка файла

Пример:
us-ascii
checksum
строка
успех, путь существует, пользователь может читать статистику, путь поддерживает хэширование, и выбранный алгоритм хэширования доступен
хэш пути

Пример:
50ba294cdf28c0d5bcde25708df53346825a429f
ctime
вещественное число
успех, путь существует и пользователь может читать статистику
Время последнего обновления или создания метаданных (зависит от ОС)

Пример:
1424348972.575
dev
целое число
успех, путь существует и пользователь может читать статистику
Устройство, на котором находится inode

Пример:
33
executable
логическое значение
добавлено в 2.2
успех, путь существует и пользователь может выполнить путь
Указывает, есть ли у вызывающего пользователя разрешение на выполнение пути

exists
логическое значение
успех
Существует ли фактически целевой путь или нет

Пример:
True
gid
целое число
успех, путь существует и пользователь может читать статистику
Числовое значение, представляющее группу владельца

Пример:
1003
gr_name
строка
успех, путь существует и пользователь может читать статистику, и установленный Python это поддерживает
Имя группы владельца

Пример:
www-data
inode
целое число
успех, путь существует и пользователь может читать статистику
Номер inode пути

Пример:
12758
isblk
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь блочным устройством

ischr
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь символьным устройством

isdir
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь каталогом

isfifo
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь именованной трубой

isgid
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, совпадает ли группа вызывающего пользователя с группой владельца

islnk
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь символической ссылкой

isreg
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь обычным файлом

Пример:
True
issock
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, является ли путь сокетом Unix-домена

isuid
логическое значение
успех, путь существует и пользователь может читать статистику
Указывает, совпадает ли идентификатор вызывающего пользователя с идентификатором владельца

lnk_source
строка
успех, путь существует и пользователь может читать статистику, и путь является символической ссылкой
Целевой путь символической ссылки, нормализованный для удалённой файловой системы

Пример:
/home/foobar/21102015-1445431274-908472971
lnk_target
строка
добавлено в 2.4
успех, путь существует и пользователь может читать статистику, и путь является символической ссылкой
Целевой путь символической ссылки. Обратите внимание, что относительные пути остаются относительными

Пример:
../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
целое число
успех, путь существует и пользователь может читать статистику
Количество ссылок на inode (жёсткие ссылки)

Пример:
1
path
string
успех и если путь существует
Полный путь к файлу/объекту, для которого нужно получить информацию

Пример:
/path/to/file
pw_name
string
успех, путь существует и пользователь может читать статистику и установлена поддержка python
Имя пользователя владельца

Пример:
httpd
readable
boolean
добавлено в 2.2
успех, путь существует и пользователь может прочитать путь
Указывает, имеет ли вызывающий пользователь право на чтение пути

rgrp
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли группа владельца разрешение на чтение

Пример:
True
roth
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеют ли другие разрешение на чтение

Пример:
True
rusr
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли владелец разрешение на чтение

Пример:
True
size
integer
успех, путь существует и пользователь может читать статистику
Размер в байтах для обычного файла, количество данных для некоторых специальных файлов

Пример:
203
uid
integer
успех, путь существует и пользователь может читать статистику
Числовой идентификатор, представляющий владельца файла

Пример:
1003
wgrp
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли группа владельца разрешение на запись

woth
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеют ли другие разрешение на запись

writeable
boolean
добавлено в 2.2
успех, путь существует и пользователь может записать в путь
Указывает, имеет ли вызывающий пользователь право на запись в путь

wusr
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли владелец разрешение на запись

Пример:
True
xgrp
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли группа владельца разрешение на выполнение

Пример:
True
xoth
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеют ли другие разрешение на выполнение

Пример:
True
xusr
boolean
успех, путь существует и пользователь может читать статистику
Указывает, имеет ли владелец разрешение на выполнение

Пример:
True


Статус

  • В этом модуле гарантированы изменения обратной совместимости в будущем. [stableinterface]
  • Этот модуль поддерживается основной командой Ansible. [core]

Поддержка Red Hat

Дополнительная информация о поддержке этого модуля Red Hat доступна в этой статье базы знаний 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.9/modules/stat_module.html

Spec-Zone.ru

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