查看模块说明文档:ansible-doc -s <模块名>
- command:命令模块,默认模块,用于远程执行命令:
# ansible all -a 'date'
all:所有主机属组
- cron:
state:
present:安装
absent:移除
# ansible websrvs -m cron -a ' minute="*/10" job="/bin/echo hell" name="test cron job" '
- user:
name:指明创建的用户的名字
# ansible websrs -m user -a 'name=mysql uid=306 system=yes system=mysql'
- group:
# ansible websrs -m group -a 'name=mysql gid=306 system=yes'
- copy:复制文件
src=本地源文件路径(绝对或相对路径)
dest=远程目标文件路径(绝对路径)
# ansible all -m copy -a 'src=/etc/fileName dest=/tmp/fileName.ansible owner=root mode=640'
content=要生成的目标文件的内容(取代src)
# ansible all -m copy -a 'content="Hello Ansible \n Hello World" dest=/tmp/test.ansible'
- file:
设定文件属性
path=要操作的文件路径,可以使用name或dest替代
mode=操作权限
创建文件的符号链接:
src=源文件路径
path=符号链接文件路径
# ansible all -m file -a 'path=/tmp/test.link src=/tmp/test.ansible state=link'
- ping:测试指定主机是否能连接
# ansible all -m ping
- service:指定运行状态
enabled=是否开机自动启动,取值true/false
name=服务名称
state=状态,取值有started,stopped,restarted
# ansible webservs -a 'service httpd status'(查看状态)
# ansible webservs -m service -a 'enable=true name=httpd state=started'(启动服务)
- shell:在远程主机上运行命令,类似于command,尤其用于管道等功能复杂的命令
# ansible all -m shell -a 'echo 123456 | passwd --stdin user1'
- script:复制本地脚本到远程主机并运行
#ansible all -m script -a 'test.sh' (使用相对路径指定脚本)
- yum:
name=要安装的程序包,可以带上版本号
state=present/latest(安装)/absent(卸载)
# ansible all -m yum -a 'name=zsh'(安装)
# rpm -q zsh(查询)
# ansible all -m yum -a 'name=zsh state=absent'(卸载)
- setup:收集远程主机的facts
每个被管理节点在接收并运行管理命令之前,会将自己的主机相关信息,如操作系统版本、IP地址等报告给ansible主机
# ansible all -m setup