ansible:命令应用基础 ansible-doc -l; #:模块查看命令 ansible-doc -s: #指明模块名称显示模块用法 ansible-doc -h: #查看命令帮助

语法ansible <host-pattern> [-f forks] [-m module_name] [-a args]	
	-f forks:启动的并发线程数;
	-m module_name:要使用的模块;
	-a args:模块特有的参数;
	示例:ansible  172.16.100.9 -m command -a 'date'
	
	args:
		key=value

		注意:command模块要执行命令无须为key=value格式,而是直接给出要执行的命令即可;

	常用模块:
		command :  命令模块,默认模块,用于在远程执行命令;
			-a 'COMMAND'	
			ansible -a 'date'
			
		user:实现用户账户管理
			name=:指明创建的用户的名字
			-a 'name= state={present|absent} system= uid='
			ansible 172.16.100.9 -m user -a 'name="user1" state=absent'

		group:创建组
			-a 'name= gid= state= system='
			ansible 172.16.100.9 -m group -a 'name=mysql gid=306 system=yes'

		cron :
			state:
				present:安装
				absent:移除
			-a 'name= minute= hour= day= month= weekday= job= user= state='
			*/10 * * * * /bin/echo "Hello zhanx"
			ansible 172.16.100.9 -m cron -a 'minute="*/10" job="/bin/echo hello" name="test cron job" state="present"'
			

		copy:文件复制
			src=:定义本地源文件路径
			dest=:定义远程目标文件路径
			content=:取代src=,表示直接用此处指定的信息生成为目标文件内容;
			-a 'dest= src= mode= owner= group='
			#ansible all -m copy -a 'src=/etc/fstab dest=/tmp/fstab.ansible owner=root mode=640'
			#ansible all -m copy -a 'content="Hello Ansible\nHi zhanx" dest=/tmp/test.ansible'
			
		file:设定文件属性
			path=:指明文件路径,可以使用name或dest来替换;
			
			创建文件的符号链接:
				src=:指明源文件;
				path=:指明符号链接文件路径
			-a 'path= mode= owner= group= state={directory|link|present|absent} src='
			#ansible all -m file -a 'path=/tmp/fstab.link src=/tmp/fstab.ansible	state=link'
			
		ping:测试指定主机是否能连通
			没有参数
			# absible all -m ping 

		yum:安装程序包
			name=:指明要安装的程序包,可以带上版本号;
			state=:present,lastest表示安装,absent表示卸载;				
			-a 'name= state={present|latest|absent}'
			#ansible all -m yum -a "name=telnet   state=absent"

		service:指定服务的运行状态
			enabled=: 是否开机自动启动,取值为true或者false;
			name=:服务名称
			state=:状态,取值有started,stoped,restarted;				
			-a 'name= state={started|stopped|restarted} enabled='
			# ansible 172.16.100.9 -m service -a 'enabled=true name=httpd state=started'

		shell:在远程主机上运行命令
			尤其是用到管道等功能的复杂命令使用
			-a 'COMMAND'
			#ansible all -m shell -a 'echo zhanx | passwd  --stdin user'

		script:将本地脚本复制到远程主机并运行;
			注意:基于相对路径
			-a '/path/to/script'
			#ansible all -m script -a "test.sh"

		setup:收集每个远程主机可用的facts
			每个被管理节点在接收并运行管理命令之前,会将自己主机相关信息:
			如操作系统版本、IP地址等报告给远程的ansible主机;
			#ansible all -m setup