ansible命令语法介绍

ansible命令语法介绍ansible HOST-PATTERN [-f FORKS] [-M MOD_NAME] [-a MOD_ARGS]-f FORKS:表示一批处理几台主机,也就是当被管控主机很多时,ansible不是对所有主机同时发起管理操作,而是一批处理几台,然后再换一批,直到所有主机被处理完成,如果不指定,则默认是5台-m 

MOD_NAME:指明调用哪个模块执行操作,各个模块所能实现的功能不同,如果不指定,默认是用-m command模块-a MOD_ARGS:指明使用该模块的执行操作时的参数[root@master ~]# ansible-doc -l获取支持的模块注意每个模块的用法可以使用?ansible-doc?MOD?如:[root@master ~]# ansible-doc copymodules 具有”幂等”性,意思是如果你再一次地执行 moudle(译者注:比如遇到远端系统被意外改动,需要恢复原状),moudle 只会执行必要的改动,只会改变需要改变的地方.所以重复多次执行 playbook 也很安全.

示例:1.ping模块 探测助主机是否在线[root@master ~]# ansible webserver -m ping                     'webserver' 相当于主机IP地址192.168.10.201 | SUCCESS => {          "changed": false,     "ping": "pong"}192.168.10.202 | SUCCESS => {    "changed": false,     "ping": "pong"}

2.command模块 在远程主机执行名,不支持管道,重定向等shell特性 (不支持管道)查看时间信息:root@master ~]# ansible webserver -m command -a 'date'192.168.10.201 | SUCCESS | rc=0 >>2016年 11月 03日 星期四 12:51:20 CST192.168.10.202 | SUCCESS | rc=0 >>2016年 11月 03日 星期四 11:51:47 CST查看负载:[root@master ~]# ansible webserver -m command -a 'uptime'192.168.10.201 | SUCCESS | rc=0 >> 12:52:09 up 1 day, 20:41, 

3 users,  load average: 0.00, 0.00, 0.00192.168.10.202 | SUCCESS | rc=0 >> 11:52:35 up 21:12,  5 users,  load average: 0.00, 0.00, 0.00常用参数:chdir= ? 表示指明命令在远程主机上哪个目录下运行,也就是在命令执行前切换到哪个目录下creates= ?当create 指定的文件存在时,不执行,不存在时不执行..removes= ? 当文件存在时,执行。executeble= ? 指明运行命令的shell程序[root@master ~]# ansible webserver -m command -a 'chdir=/tmp ls ./'192.168.10.201 | SUCCESS | rc=0 >>ansible_mW3Prm192.168.10.202 | SUCCESS | rc=0 >>ansible_5mBkhLkeyring-6oyII7keyring-sjF7FJorbit-gdmorbit-rootpasswdpulse-Ks248rBe0mXP不支持管道和重定向[root@master ~]# ansible webserver -m command -a 'echo  "hello" > /tmp/aa.txt'192.168.10.201 | SUCCESS | rc=0 >>hello > /tmp/aa.txt192.168.10.202 | SUCCESS | rc=0 >>hello > /tmp/aa.txt[root@master ~]# ansible webserver -m command -a 'cat /tmp/aa.txt'192.168.10.201 | FAILED | rc=1 >>cat: /tmp/aa.txt: 没有那个文件或目录192.168.10.202 | FAILED | 

你可能感兴趣的:(运维,运维)