2015-02-17 268 views
6

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

但是我可以通过做adhoc命令找到它们。有没有更好的办法?也许他们没有被记录,因为它在每个实例中都是特定操作系统。

例如:

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 
} 
} 

回答

5

最好的办法是做的正是你做了什么,或写转储模块返回什么内容的剧本:

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

- debug: var=st 

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

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

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