Ansible命令的返回值

时间:2015-02-17 22:31:04

标签: ansible

我正在尝试查找Ansible命令的返回值,以便我可以在Ansible Playbooks中更好地编程。以 stat 为例。我没有看到文档中列出的任何返回值。 http://docs.ansible.com/stat_module.html

然而,我可以通过执行adhoc命令找到它们。有没有更好的办法?也许它们没有记录,因为它在每个实例中都是特定于OS的。

例如:

ansible 12.34.56.78  -m stat -a "path=/appserver"
12.34.56.78 | success >> {
"changed": false,
"stat": {
    "atime": 1424197918.2113113,
    "ctime": 1423779491.431509,
    "dev": 64768,
    "exists": true,
    "gid": 1000,
    "inode": 9742,
    "isblk": false,
    "ischr": false,
    "isdir": true,
    "isfifo": false,
    "isgid": false,
    "islnk": false,
    "isreg": false,
    "issock": false,
    "isuid": false,
    "mode": "0755",
    "mtime": 1423585087.2470782,
    "nlink": 4,
    "pw_name": "cloud",
    "rgrp": true,
    "roth": true,
    "rusr": true,
    "size": 4096,
    "uid": 1000,
    "wgrp": false,
    "woth": false,
    "wusr": true,
    "xgrp": true,
    "xoth": true,
    "xusr": true
}
}

1 个答案:

答案 0 :(得分:9)

你最好的选择就是完成你所做的,或写一个转储模块返回内容的剧本:

- stat: path=/path/to/file
  register: st

- debug: var=st

stat命令没有记录它返回的所有内容的部分原因是因为正如模块的文档所述:

  

检索类似于linux / unix'stat'命令的文件的事实。

因此,如果在linux shell中调用man 2 stat,您可以找到所有这些属性的含义。