ansible模块简介
http://openskill.cn/article/130
以上链接是详细介绍
一、copy模块
把主控端文件拷贝到指定节点上:ansible 主机名 -m copy -a 'src=/原路径 dest=/目标路径'
二、file模块
目的:更改指定节点文件属性
ansible 主机名file -a "dest=/目标路径 mode=755" 其中mode是修改目标路径的属性
三、cron模块
目的:定义计划任务(每三分钟到主机更新一次时间)
ansible all -m cron -a 'name="cutom job" minute=*/3 hour=* day=* month=* weekday=* job=/主机ip'
四、group模块
目的:创建组
ansible all -m group -a 'gid=2014 name=nolinux'
五、user模块
目的:创建用户
ansible 主机名 -m user -a 'name=nolinux groups=nolinux state=present'
六、yum模块
目的:在节点用yum安装服务
ansible all -m yum -a "state=present name=httpd" rpm -qa httpd (查看版本)
七、service模块
目的:启动节点上的服务
ansible 主机名-m service -a 'name=httpd state=restarted' service httpd status(查看状态是已停止) service httpd status(正在运行)
八、script模块
目的:在节点上执行server上的脚本
先写一个脚本比如#!/bin/bash echo "hello,world!"
ansible 主机名 -m script -a '/脚本路径'
九、shell模块
目的:执行节点上的脚本
absible 主机名 -m shell -a 'bash /脚本路径'
十、ping模块
目的:检查节点是否能连通
ansible 主机名 -m ping
十一、get_url模块
目的:将文件下载到指定节点
ansible 主机名 -m get_url -a 'url=http://链接 dest=/tmp(目标路径)'
十二、synchronize模块
目的:将serve方目录推送到节点
ansible 主机名 -m syschrinize -a 'src=/原路径 dest=目标路径 compress=yes'
delete=yes 使两边的内容一样
compress=yes 开启压缩默认为开启
--exclude=.git 忽略童虎.git结尾的文件
十三、command模块
ansible all -a date 或者ansible all -m command -a date
以上两条命令结果相同,因为ansible默认调用command模块,所以comand可以省略,Commmand模块常见的shell命令都可以使用大那是由于执行不是通过sehll所以< > | & 等服务号都不可以用 运行中的命令不支持变量也不支持管道
十四、raw模块
与command模块类似但是可以传递管道
ansible 主机名-m raw -a 'free -m | grep Swap'