Fork me on GitHub

Ansible 模块命令介绍

copy模块:

    目的:把主控端/root目录下的a.sh文件拷贝到到指定节点上

    命令:ansible 10.1.1.113 -m copy -a 'src=/root/a.sh dest=/tmp/'


file模块:

    目的:更改指定节点上/tmp/t.sh的权限为755,属主和属组为root

    命令:ansible all -m file -a "dest=/tmp/t.sh mode=755 owner=root group=root"


cron模块:

    目的:在指定节点上定义一个计划任务,每隔3分钟到主控端更新一次时间

    命令:ansible all -m cron -a 'name="custom job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/sbin/ntpdate 172.16.254.139"'


group模块:

    目的:在所有节点上创建一个组名为nolinux,gid为2014的组

    命令:ansible all -m group -a 'gid=2014 name=nolinux'


user模块:

    目的:在指定节点上创建一个用户名为nolinux,组为nolinux的用户

    命令:ansible 10.1.1.113 -m user -a 'name=nolinux groups=nolinux state=present'


yum模块:

    目的:在指定节点上安装 lrzsz 服务

    命令:ansible all -m yum -a "state=present name=httpd"


service模块:

    目的:启动指定节点上的 puppet 服务,并让其开机自启动

    命令:ansible 10.1.1.113 -m service -a 'name=puppet state=restarted enabled=yes'


script模块:

    目的:在指定节点上执行/root/a.sh脚本(该脚本是在ansible控制节点上的)

    命令:ansible 10.1.1.113 -m script -a '/root/a.sh'


ping模块:

    目的:检查指定节点机器是否还能连通

    命令:ansible 10.1.1.113 -m ping


command模块:

    目的:在指定节点上运行hostname命令

    命令:ansible 10.1.1.113 -m command -a 'hostname'


raw模块:

    目的:在10.1.1.113节点上运行hostname命令

    命令:ansible 10.1.1.113 -m raw-a 'hostname|tee'


get_url模块:

    目的:将http://10.1.1.116/favicon.ico文件下载到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m get_url -a 'url=http://10.1.1.116/favicon.ico dest=/tmp'


synchronize模块:

    目的:将主控方/root/a目录推送到指定节点的/tmp目录下

    命令:ansible 10.1.1.113 -m synchronize -a 'src=/root/a dest=/tmp/ compress=yes'

    执行效果:

delete=yes   使两边的内容一样(即以推送方为主)

compress=yes  开启压缩,默认为开启

--exclude=.Git  忽略同步.git结尾的文件

wKioL1TB_EjxkmYpAAYA5Ai3IPg889.jpg

由于模块,默认都是推送push。因此,如果你在使用拉取pull功能的时候,可以参考如下来实现

mode=pull   更改推送模式为拉取模式

    目的:将10.1.1.113节点的/tmp/a目录拉取到主控节点的/root目录下

    命令:ansible 10.1.1.113 -m synchronize -a 'mode=pull src=/tmp/a dest=/root/'

    执行效果:

wKiom1TB-3CwhN2dAASKTtTpOxI903.jpg

       由于模块默认启用了archive参数,该参数默认开启了recursive, links, perms, times, owner,group和-D参数。如果你将该参数设置为no,那么你将停止很多参数,比如会导致如下目的递归失败,导致无法拉取

wKiom1TB-3CwM88JAAKGdhDvVqI952.jpg







posted @ 2016-12-27 16:35  Anonymous-develop  阅读(329)  评论(0编辑  收藏  举报

python自动化开发&研究 - 创建于 2016年1月10日

这是一位运维自动化开发工程师的个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

致力于自动化应用开发&研究工作,专注运维与前端开发,关注互联网前沿技术与趋势。


廖雪峰的博客 | 徐亮的博客 | 刘耀的博客 | python基础课程 | 我的svn | 我的个人导航首页