ansible学习系列2-ansible常用模块使用
1. 查看支持的模块
[root@localhost ~]# ansible-doc -l
这里我们看下ansible的支持的模块个数
[root@localhost ~]# ansible-doc -l |wc -l #查看支持的模块个数 [root@localhost ~]# ansible --version #查看我们的ansible版本号
ansible 2.3.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.6. (r266:, Aug , ::) [GCC 4.4. (Red Hat 4.4.-)]
2.获取模块的帮助
这里我们使用ansible-doc获取下command模块的使用方式。
[root@localhost ~]# ansible-doc command
3.1 command模块
command :作为ansible的默认模块,可以允许远程主机范围内的所有shell命令。
注意: 在command的命令中含有像`$ HOME'这样的变量和像``<“',`”>“, `“”“”,“”;“”和“”&“'将无法正常工作(如果需要这些功能,请使用[shell]模块)
[root@localhost ~]# ansible 192.168.168.11* -m command -a 'ip addr show dev eth0'
192.168.168.115 | SUCCESS | rc= >>
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::8d:e2 brd ff:ff:ff:ff:ff:ff
inet 192.168.168.115/ brd 192.168.168.255 scope global eth0
inet6 fe80:::56ff:fe29:8de2/ scope link
valid_lft forever preferred_lft forever 192.168.168.111 | SUCCESS | rc= >>
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c:::: brd ff:ff:ff:ff:ff:ff
inet 192.168.168.111/ brd 192.168.168.255 scope global eth0
inet6 fe80::20c:29ff:fe77:/ scope link
valid_lft forever preferred_lft forever
3.2 script模块
功能:在远程主机上执行主控端的脚本,相当于scp+shell组合。
[root@localhost ~]# ansible all -m script -a "/home/test.sh 12 34"
3.3 shell模块
功能:执行远程主机的shell脚本文件
[root@localhost ~]# ansible all -m shell -a "/home/test.sh"
shell替代command执行
[root@localhost ~]# ansible 192.168.168.11* -m shell -a 'ip addr show dev eth0'
192.168.168.111 | SUCCESS | rc= >>
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c:::: brd ff:ff:ff:ff:ff:ff
inet 192.168.168.111/ brd 192.168.168.255 scope global eth0
inet6 fe80::20c:29ff:fe77:/ scope link
valid_lft forever preferred_lft forever 192.168.168.115 | SUCCESS | rc= >>
: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::8d:e2 brd ff:ff:ff:ff:ff:ff
inet 192.168.168.115/ brd 192.168.168.255 scope global eth0
inet6 fe80:::56ff:fe29:8de2/ scope link
valid_lft forever preferred_lft forever
3.4 copy模块
功能: 实现主控端向目标主机copy文件。
[root@localhost ~]# ansible all -m copy -a "src=/home/test.sh dest=/tmp/ owner=root group=root mode=0755"
#src 主控端文件位置
#dest 被控端目标位置
#owner 文件复制过去后的所有者
#group 文件复制过去后的所属组
#mode 文件的权限设定,执行a+x这种方式
3.5 stat模块
功能: 获取远程文件的状态信息,包括atime,ctime,mtime,md5,uid,gid等信息。
[root@localhost ~]# ansible all -m stat -a "path=/etc/sysctl.conf"
3.6 yum模块
功能: 安装软件包。
[root@localhost ~]# ansible all -m yum -a "name=httpd state=latest disable_gpg_check=yes enablerepo=epel"
#name 包名
#state (Choices: present, installed, latest, absent, removed)[Default: present]
#disable_gpg_check:禁止gpg检查
#enablerepo:只启动指定的repo
3.7 cron模块
功能:远程主机crontab配置
[root@localhost ~]# ansible all -m cron -a "name='test' hour='2-5' minute='*/5' day='1' month='3,4' weekday='1' job='ls -l' user=tom"
192.168.168.115 | SUCCESS => {
"changed": true,
"envs": [],
"jobs": [
"test"
]
}
192.168.168.111 | SUCCESS => {
"changed": true,
"envs": [],
"jobs": [
"test"
]
}
我们去被控主机看下生成的crontab作业
[root@localhost ~]# crontab -l -u tom
#Ansible: test
*/ - , ls -l
删除指定crontab
[root@localhost ~]# ansible all -m cron -a "name=test state=absent"
3.8 mount模块
功能: 挂载文件系统
[root@localhost ~]# ansible 192.168.168.111 -m mount -a "path=/mnt/data src=/dev/sd0 fstype=ext3 ots=ro state=present"
注:mount已经使用path代替了原来的name参数,但是name参数还是可以使用的。
3.9 service模块
功能: 服务管理
[root@localhost ~]# ansible all -m service -a "name=httpd state=restarted" #启动服务
[root@localhost ~]# ansible all -m service -a "name=httpd state=running" #查看服务状态
[root@localhost ~]# ansible all -m service -a "name=httpd state=stoped" #停止服务
3.10 user模块
功能: 远程主机的用户管理
[root@localhost ~]# ansible all -m user -a "name=jerry comment=' doubi jerry'" #添加用户 详细参数参考ansible-doc user
[root@localhost ~]# ansible all -m user -a "name=jerry state=absent remove=yes" #删除用户
ansible学习系列2-ansible常用模块使用的更多相关文章
- SaltStack学习系列之state常用模块
常用模块:cron,cmd,file,mount,ntp,pkg,service,user,group cmd模块 参数: name:要执行的命令 unless:用于检查的命令,只有unless指向的 ...
- Python学习系列(六)(模块)
Python学习系列(六)(模块) Python学习系列(五)(文件操作及其字典) 一,模块的基本介绍 1,import引入其他标准模块 标准库:Python标准安装包里的模块. 引入模块的几种方式: ...
- 自动化运维工具Ansible实战(四)常用模块
转载链接:http://blog.51cto.com/liqingbiao/1962609 Ansible模块按功能分为:云模块.集群模块. 命令模块.数据库模块.文件模块.资产模块.消息模块.监 ...
- Func系列2:常用模块及API
简介 Func提供了非常丰富的功能模块,包括CommandModule(执行命令).CopyFileModule(拷贝文件).CPUModule(CPU信息).DiskModule(磁盘信息).Fil ...
- Django学习之六:Django 常用模块导入记忆
Django 常用模块导入记忆 django相关 1. urls相关操作 from django.urls import path, re_path, include from django.urls ...
- Python学习—基础篇之常用模块
常用模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...
- Ansible 快速安装配置,常用模块
Ansible是一个轻量级的工具,基于python语言实现,通过python中的paramiko来连接并管理机器, 功能强大(YAML,PlayBook,模块化功能),不需要安装客户端, 通过ssh连 ...
- Ansible笔记(7)---常用模块之系统类模块(cron、service)
一.cron模块 1.1作用: cron 模块可以帮助我们管理远程主机中的计划任务,功能相当于 crontab 命令. 在了解cron模块的参数之前,先写出一些计划任务的示例: # 示例1,每天的1点 ...
- Ansible笔记(2)---常用模块之文件操作
一.copy模块 1.1作用: copy模块是将ansible主机上的文件拷贝到远程受控主机 1.2常用参数: src参数 :用于指定需要copy的文件或目录. dest参数 :用于指定文件将被拷贝到 ...
随机推荐
- BZOJ 4710
枚举几个同学分到了 对于每种特产求一个方案数(经典做法)乘起来 然后容斥 #include<bits/stdc++.h> using namespace std; #define rep( ...
- iOS 开发中单元格cell高度自适应
高度自适应分下面两种情况 1.用代码自定义的cell 用代码自定义的cell,cell高度自定义需要我们手动的去计算每个cell的字符串高度.然后返回对应的高度即可. 2.用XIB 或者 StoreB ...
- 微信小程序开发---自定义组件
开发者可以将页面内的功能模块抽象成自定义组件,以便在不同的页面中重复使用:也可以将复杂的页面拆分成多个低耦合的模块,有助于代码维护.自定义组件在使用时与基础组件非常相似. 创建自定义组件 类似于页面, ...
- 权限组件之rbac
rbac:基于角色的权限访问控制(Role-Based Access Control). rbac的主要流程:给每个角色赋予不同的权限,是这个角色的员工都有这个角色的所有权限.一个角色可以有多个人员担 ...
- 记一次JVM故障排除
今天,自己开发的事件驱动的java大规模爬虫程序上线了几个新任务后突然异常. 异常: 程序业务异常,经查看CPU利用率满,内存满,一直报OOM,目测有内存泄露.如下图所示,四核16G的内粗,CPU高达 ...
- JavaScript 获取完整当前域名
<script> var dq_url = window.location.protocol+"//"+window.location.host;/*获取当前域名*/ ...
- win10常用详细快捷键大全
• 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落• 切换窗口:Alt + Tab(不是新的,但任务切换界面改进)• 任务视图:Win + Tab ...
- SSIS - 4.使用表达式任务和脚本任务实现更改变量和输出变量值
一.脚本任务 脚本任务是SSIS包中功能很强大的组件,尤其当内置的任务无法实现我们需要的功能的时候,我们都可以使用脚本任务来实现.脚本任务使用VSTA(Microsoft Visual Studio ...
- 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 10倍速!一招儿解决因googleapis被墙导致的许多国外网站访问速度慢的问题
1x.com 是我非常喜欢的一家国外的摄影网站.但,打开它的首页要1分多钟!点击小图看大图的二级页面根本打不开.看着写着“Nude content”的小图却点不开大图的心情你们造吗?!很多国外网站访问 ...