2015-02-17 262 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,那麼您可以找出所有這些屬性的含義。