Ansible-常用模块
Ansible命令格式
ansible 清单 -m 模块 -a 模块参数
常用参数
–version:显示版本 -m module:指定模块,默认为command模块 -v:显示详细过程 -vv -vvv更详细过程 –list:显示主机列表,也可以用–list-hosts -k:提示输入ssh连接密码,默认key认证 -C:预执行检测 -T:执行命令超时时间,默认为10s -u:指定远程执行的用户 -b:执行sudo切换身份操作 -become-user=USERNAME:指定sudo的用户 -K:提示输入sudo密码-a MODULE_ARGS#模块的参数,如果执行默认COMMAND的模块,即是命令参数,如: “date”,“pwd”等等
ansible的执行颜色:绿色:执行成功但对远程主机做任何改变。黄色:执行成功并对远程主机作改变。红色:执行失败
1.ping模块
ping 模块,这个很好理解,跟我们常用的 ping 命令是一样的,用来检测与目标主机的连通性
[root@master ~]# ansible 192.168.142.45 -m ping 192.168.142.45 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } [root@master ~]# ansible -m ping all 192.168.142.45 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" } 192.168.142.51 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
如果能够 ping 通,那么结果字体是显示绿色,反之黄色
2.command模块
这个是默认模块,我们敲命令的时候可以省略,在后面写上我们要执行的命令
例如我想查看一下目标主机home目录下的详细信息
[root@master ~]# ansible 192.168.142.51 -m command -a "ls -l /home" 192.168.142.51 | CHANGED | rc=0 >> 总用量 4 -rw-r--r-- 1 root root 0 5月 4 23:18 ansible drwx------. 15 xiaoming xiaoming 4096 5月 10 19:42 xiaoming [root@master ~]# ansible 192.168.142.51 -a "ls -l /home" 192.168.142.51 | CHANGED | rc=0 >> 总用量 4 -rw-r--r-- 1 root root 0 5月 4 23:18 ansible drwx------. 15 xiaoming xiaoming 4096 5月 10 19:42 xiaoming
#这里不能用别名 ll
又或者我想在目标主机上添加用户 xianyu
ansible 192.168.244.135 -a "useradd xianyu"