Ansible常用模块介绍及使用
2017-03-03 14:07
561 查看
ansible常用命令解析:查看当前 ansible 都支持哪些模块: ansible-doc -l查看某一模块可以使用的参数:ansible-doc -s copy (eg:copy模块)ansible用法:ansible 主机名 -m 模块名 -a模块参数-m:模块的名字,如果执行单一的命令不用加-m,默认走command-a: 模块参数,如果模块是command,-a后面跟的就是命令参数-i : 指定hosts文件位置 默认:/etc/ansible/hosts-f: 并行任务数,一定是整数-u:指定远程用户,默认是root
ping模块
ansible 192.168.118.14 -m ping
可以看到在不使用管道的时候shell和command两个模块是没有分别的,但是使用了管道,可以看到command的管道是不生效的。
(1)、批量使用命令[command/shell]
#通过这个命令可以直接将两个测试环境的时间都显示出来,success 表示成功执行了。command
此参数表示“在远程主机上执行命令”。
如此可以将date命令,换成/usr/local/tomcat/bin/./shutdown.sh等命令。
(2)、文件复制[copy] # 复制文件到远程文件
src:被复制到远程主机的本地文件,可以是绝对路径,也可以是相对路径。owner:文件所有者group:文件所属用户组dest:复制到远程的文件。必填项mode:文件权限。如文件为755权限,mode="0755"即可。
(3)、远程查看文件内容
(4)文件管理[file]
#ansible testservers -m file -a"dest=/tmp/test mode=755 owner=root group=root state=directory"
#ansible testservers -m file -a"dest=/tmp/test.txt state=absent"
(5) [b]软件包管理:【yum/apt】[/b]
(6) [b]用户和用户组[user/group]:[/b]
(7)服务管理[service]:
(8)收集系统信息[setup]:
(9)定义任务计划[cron]
(10)下载文件[get_url]
(11)文件同步[ synchronize]
ansible 192.168.118.14 -m synchronize -a'src=/root/test dest=/tmp/ compress=yes'
http://docs.ansible.com/ansible/modules_by_category.html #更多的模块请查看此链接
ping模块
ansible 192.168.118.14 -m ping
shell和
command
:这两个模块都是运行命令的模块,区别是
command
模块不支持shell变量和管道。
(1)、批量使用命令[command/shell]
1 | ansible storm_cluster - m command - a 'date' # 如下图 |
#通过这个命令可以直接将两个测试环境的时间都显示出来,success 表示成功执行了。command
此参数表示“在远程主机上执行命令”。
如此可以将date命令,换成/usr/local/tomcat/bin/./shutdown.sh等命令。
(2)、文件复制[copy] # 复制文件到远程文件
1 2 3 4 | ansible storm_cluster-m copy -a "\ src=/alidata/www/WEB-INF1214.zip\ dest=/alidata/www/WEB-INF1214.zip\ owner=root group=root backup=yes" ; # 如下图 |
(3)、远程查看文件内容
1 | [root @localhost /] #ansible storm_cluster-m command-a"cat /1.txt"# 如下图 |
(4)文件管理[file]
file
:更改文件的用户及权限,创建或删除文件和目录。
修改所有服务器的
/tmp/test
.txt文件的权限为755:
#ansible all -m file -a"dest=/tmp/test.txt mode=755"
创建
/tmp/test
目录:
#ansible testservers -m file -a"dest=/tmp/test mode=755 owner=root group=root state=directory"
删除
/tmp/test
目录:
#ansible testservers -m file -a"dest=/tmp/test.txt state=absent"
(5) [b]软件包管理:【yum/apt】[/b]
atp(ubuntu),yum(redhat):
安装一个软件包(links):
#ansible testservers -m yum -a"name=curl state=present"
安装软件到最新版本
#ansible testservers -m yum -a"name=links state=latest"
删除一个软件包:
#ansible testservers -m yum -a"name=links state=absent"
(6) [b]用户和用户组[user/group]:[/b]
user:创建,修改,删除用户。
创建cmh用户:
#ansible all -m user -a"name=cmh password=123456"
删除cmh用户:
#ansible all -m user -a"name=cmh state=absent"
创建ansible组:
#ansible 192.168.118.14 -m group -a"name=ansible gid=2016"
(7)服务管理[service]:
service:启动,重启,关闭系统服务。
关闭服务:
#ansible testservers -m service -a"name=nfs state=stopped"
开启服务:
#ansible testservers -m service -a"name=nfs state=started"
重启或者重新加载服务:
#ansible testservers -m service -a"name=nfs state=restarted"
#ansible testservers -m service -a"name=nfs state=reloaded"
(8)收集系统信息[setup]:
收集匹配主机的所有信息:
#ansible all -m setup
收集信息并以主机名为文件保存在指定目录中:
#ansible all -m setup --tree /tmp/facts
过滤信息:(收集内存相关)
#ansible all -m setup -a'filter=ansible_*_mb'
(9)定义任务计划[cron]
#ansible all -m cron -a'name="Cron job" minute=*/3 hour=* day=* month=* weekday=* job="/usr/bin/ntpdate tiger.sina.com.cn"
(10)下载文件[get_url]
#ansible 192.168.118.14 -m get_url -a'url=http://192.168.118.14/1.png dest=/tmp'
(11)文件同步[ synchronize]
ansible 192.168.118.14 -m synchronize -a'src=/root/test dest=/tmp/ compress=yes'
相关文章推荐
- Ansible之安装部署及常用模块的使用介绍 推荐
- Tengine 常用模块使用介绍
- ansible学习系列2-ansible常用模块使用
- Ansible常用模块介绍
- Ansible常用模块介绍
- Ansible基础配置与常用模块使用
- Ansible 自动化运维工具之inventory和常用模块介绍
- Tengine 常用模块使用介绍
- 运维自动化之ansible使用详解(包括常用模块与playbook使用)
- Ansible常用模块介绍
- [置顶] Ansible常用模块介绍
- Ansible的安装、配置及常用模块介绍
- Ansible 常用模块介绍
- Ansible中几个常用模块的使用
- ansible常用命令及模块的使用方法
- ansible常用模块介绍
- 运维工具Ansible—常用模块的使用
- ansible常用模块介绍
- 卷积神经网络CNN与深度学习常用框架的介绍与使用
- C++模板常用使用方法介绍