Ansible用命令管理主机
Ansible提供了一个命令行工具,在官方文档中起给命令行起了一个名字叫Ad-Hoc Commands。
ansible命令的格式是:
ansible <host-pattern> [options]
ansible命令功能有哪些
先不用深纠命令的语法,讲完module那节,就可以理解语法。通过下面的命令感性地体会下ansible命令行的功能。
检查ansible安装环境
检查所有的远程主机,是否以bruce用户创建了ansible主机可以访问的环境。
$ansible all -m ping -u bruce
执行命令
在所有的远程主机上,以当前bash的同名用户,在远程主机执行“echo bash”
$ansible all -a "/bin/echo hello"
拷贝文件
拷贝文件/etc/host到远程主机(组)web,位置为/tmp/hosts
$ ansible web -m copy -a "src=/etc/hosts dest=/tmp/hosts"
安装包
远程主机(组)web安装yum包acme
$ ansible web -m yum -a "name=acme state=present"
添加用户
$ ansible all -m user -a "name=foo password=<crypted password here>"
下载git包
$ ansible web -m git -a "repo=git://foo.example.org/repo.git dest=/srv/myapp version=HEAD"
启动服务
$ ansible web -m service -a "name=httpd state=started"
并行执行
启动10个并行进行执行重起
$ansible lb -a "/sbin/reboot" -f 10
查看远程主机的全部系统信息!!!
$ ansible all -m setup