本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Ansible
  • 自动化运维工具Ansible入门教程(二)Ansible常用模块的使用

自动化运维工具Ansible入门教程(二)Ansible常用模块的使用

发布:TangLu2017-9-15 11:22分类: Ansible 标签: 自动化运维 ansible

关于Ansible的安装及基础使用可以参考本站文章——自动化运维工具Ansible特性及安装使用教程

本文主要讲解Ansible常用模块的使用在开始之前先回顾下查看Ansible模块的方法

[root@server ~]# ansible-doc -l  #查看ansible所支持的模块
[root@server ~]# ansible-doc -s modulename  #查看具体模块的子命令


ansible1.png


Ansible常用模块用法介绍:

(1)command模块:默认模块。让远端主机执行指定的命令,但不支持管道或者重定向。

ansible 192.168.44.130 -a 'date'


ansible2.png

(2)cron模块:设置定时任,其中有个state选项包含present、absent两个参数,分别代表增加和移除

ansible webserver -m cron -a 'minute="*/10" job="/bin/echo test" name="test cron job" '
ansible webserver -m cron -a 'hour="*/1" job="/usr/sbin/ntpdate 10.254.1.10" name="crontab from ansible" state=present'


(3)user模块:管理用户,还有一个group模块用于管理组

    ansible webserver -m user -a "name=mysql system=yes" 

 

(4)copy模块:实现文件复制

    src=:定义本地源文件的路径

    dset=:定义目标文件路径

    content=:用该选项直接生成内容,替代src

    backup=:如果目标路径存在同名文件,将自动备份该文件


ansible all -m copy -a 'src=/etc/fstab dest=/etc/fstab owner=root mode=640' 
ansible all -m copy -a 'content="hello world" dest=/etc/fstab owner=root mode=640 backup=yes'      


(5)file模块:设置文件的属性,如所属主、文件权限等

path:指定要设置的文件所在路径,可使用name或dest替换

ansible all -m file -a 'owner=mysql group=mysql mode=644 path=/tmp/test'

创建文件的软连接:

src:指明源文件

path:指明符号连接文件路径

state:指明文件的格式,touch=创建新的文件;absent=删除文件,link=创建软连接文件;directory=创建目录

ansible all -m file -a 'path=/etc/passwd.link src=/etc/passwd state=link' 


(6)ping模块:测试远端主机是否能连接

ansible all -m ping 

(7)service模块:控制服务运行状态

    enabled:是否开机自动启动,取值为true或者false

    name:服务名称

    state:状态,取值有started,stopped,restarted

ansible webserver -m service -a 'enabled=true name=httpd state=started'


(8)shell模块:和command模块一样是用来运行命令,当命令中有变量或者管道符的时候要用shell模块,特殊符号需要转义,比如\$

ansible all -m shell -a "echo test | passwd --stdin user1" 


(9)script模块:将本地的脚本复制到远端主机并执行,需要把脚本放在当前目录中并使用相对路径来指定

ansible all -m script -a 'test.sh'


(10)yum模块:安装程序包,远端主机需要先配置好正确的yum源

    name:指明要安装的程序包,可以带上版本号,否则默认安装最新版本,多个安装包用逗号分隔

    state:present代表安装,也是默认操作;absent是卸载;latest最新版本安装

ansible -m yum -a 'name=httpd state=present' 


(11)setup模块:收集被管理主机的信息,包含系统版本、IP地址、CPU核心数。在Ansible高级操作中可以通过该模块先收集信息,然后根据不同主机的不同信息做响应操作,类似Zabbix中的低级别发现自动获取磁盘信息一样。

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《自动化运维工具Ansible入门教程(二)Ansible常用模块的使用
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-274.html  [生成短网址]

已有 0/2276 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~