Ansible常用模块使用
Ansible官方提供了非常多的模块,还有若干第三方模块,我们也可以自己编写模块。
Ansible对远程服务器的操作实际是通过模块完成的,先将模块拷贝到远程服务器,完成操作后,然后在远程服务器上删除该模块。
查看模块帮助信息:
查看模块列表:
ansible-doc -l
查看具体模块帮助信息,以file为例
ansible-doc file
ping模块
测试现有的SSH参数能否连远程服务器。
ansible webservers -m ping
远程命令模块
commond 不能使用管道,参数chdir可以切换到指定目录,再执行命令。
raw 可以使用管道,相当于使用SSH直接执行Linux命令。
shell shell模块可以执行远程服务器上的脚本,脚本文件要使用绝对路径
script 可以在远程服务器上执行主控节点上的脚本文件。
ansible webservers -m script -a 'test.sh'
file模块
file模块用于对远程服务器上的文件(包块链接和目录)进行操作,包括修改权限,修改属主,创建删除文件。
重要选项:
- path: 指定文件/目录的路径
- recurse: 递归设置目录属性
- group: 定义组
- mode: 定义权限
- src: 要被链接的源文件路径
- dest: 被链接到的路径
- owner 定义文件所属主
- state: 取值为directory是,目录不存在时,创建目录,file时,即使文件不存在,文件也不会被创建,link和hard时,创建软硬链接,tocuh时,同Linux,absent,删除文件或者目录或者链接。
#创建一个目录
ansible webservers -m file -a 'path=/tmp/dd state=directory mode=0755'
#修改文件权限
ansible webservers -m file -a 'path=/tmp/dd state=touch mode=0411'
#创建一个软链接
ansible webservers -m file -a 'src=/tmp/dd dest=/tmp/ddl state=link'
#修改所有者
ansible webservers -m file -a 'path=/tmp/dd owner=scott group=scott' -become
#删除文件
ansible webservers -m file -a 'path=/tmp/ddl state=absent'
copy模块
类似于scp,将本地文件拷贝到远程服务器,但是它更加强大,它还可以修改文件的权限和所属。
- src: 文件地址,可以是相对路径也可以是绝对路径,以“/”结尾,复制目录里面的内容,如果没使用“/”结尾则复制整个目录。
- dest : 文件复制目的地,要使用绝对路径
- force: 默认值是yes,表示目标主机包含该文件,内容不同时会强制覆盖,如果为no,只有文件不存在时才会复制。
- backup: 默认是no,如果为yes,覆盖前会将文件备份
- directory_mode: 递归设置目录权限
- othes: 所有file的模块选项都可以在这使用。
#复制文件并修改所属主,如果文件已经存在,则进行备份。
ansible webservers -m copy -a 'src=/tmp/data.txt dest=/tmp/data.txt owner=root backup=yes' -become
user/group
对用户和组的操作。
# 创建一个用户,并生成密钥对。
ansible webservers -m user -a 'name=dev1 comment="dev" group=root uid=1099 generate_ssh_key=yes ssh_key_bits=2048' -become
# 删除用户
ansible webservers -m user -a 'name=dev1 state=absent' -become
yum/apt
安装和删除软件
#安装软件
ansible webservers -m yum -a 'name=git state=present' -become
#删除软件
ansible webservers -m yum -a 'name=git state=absent' -become
Ansible常用模块使用的更多相关文章
- ansible常用模块用法
ansible常用模块用法 2015-07-21 10:25 24458人阅读 评论(1) 收藏 举报 分类: Linux(44) ansible 版权声明:本文为博主原创文章,未经博主允许不得 ...
- Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...
- Ansible常用模块命令
Ansible常用模块命令 一.安装ansible yum install epel-release yum install ansible 二.配置文件配置 vi /etc/ansible/ansi ...
- Ansible常用模块介绍及使用(2)
Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...
- Ansible常用模块及API
Ansible安装 安装EPEL作为安装Ansible的yum源(CentOS6.4): rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel ...
- ansible常用模块入门
常用模块有以下几个 command copy shell crond yum service setup 1.command模块 ansible george -m command -a " ...
- Ansible常用模块基本操作
Ansible是一个系列文章,我会尽量以通俗易懂.诙谐幽默的总结方式给大家呈现这些枯燥的知识点,让学习变的有趣一些. 前言 对于任何一个框架,一个应用,为了更便于推广,便于使用,便于商业化,都会顺便提 ...
- Ansible 常用模块详解
经过前面的介绍,我们已经熟悉了 Ansible 的一些常识性的东西和如何编译安装Ansible,从本章开始我们将全面介绍 Ansible 的各种生产常用模块,这些也是我们使用 Ansible 的过程中 ...
- ansible常用模块详解(三)
1.模块介绍 明确一点:模块的执行就类似是linux命令的一条命令,就单单的是为了执行一条语句,不是批量的操作,批量操作需要用到playbook内类似shell编写脚本进行批量. 1.1 模块的使用方 ...
- Linux之ansible 常用模块
目的 代码发布系统 代码发布:把本地的代码通过某些方式弄到线上,可以供别人访问 部署 前戏 ansible 批量在远程主机上执行命令 puppet ruby ansible saltstack pyt ...
随机推荐
- 【2】JVM-JAVA对象的访问
Java中对象的访问 JAVA是面向对象的语言,那么在JAVA虚拟机中,存在非常多的对象,对象访问是无处不在的.即时是最简单的访问,也会涉及到JAVA栈.JAVA堆.方法区这三个非常重要的内存区域之间 ...
- Linux_iptables
Linux:网络防火墙 netfilter:Frame iptables: 生成防火墙规则,并附加到netfilter上实现数据报文过滤 NAT mangle等规则生成的工具 TCP有限状态机 LIS ...
- Python——eventlet
eventlet语境下的“绿色线程”普通线程之间的区别: 1. 绿色线程几乎没有开销,不用像保留普通线程一样保留“绿色线程”,每一个网络连接对应至少一个“绿色线程”: 2. 绿色线程需要人为的设置使其 ...
- Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone
本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对OpenStack的身份与访问管理系统Keystone. 事实上OpenS ...
- EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)
一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中), ...
- perl 读取json 格式的文件
使用JSON 模块中的 decode_json 函数,将json文件中的数据解码为perl 中的对象,然后进行处理 代码如下: #!/usr/bin/env perl use JSON; use En ...
- bioperl 自动化下载genbank 中的序列
当我们想要从genbank 中下载序列的时候,总需要点击右上角的download 按钮,选择对应的格式,然后通过浏览器进行下载,这样反复的点击很费时间了 其实可以通过bioperl 自动化的完成下载: ...
- ecshop You don't have permission to access / on this server
回复 6# 晓天 确实是这个短标签的事情,谢谢了啊. 第一种方法:替换程序里的内容,以后就省心了. 针对所有的php脚本 在DW里面运行查找替换l 主要做替换操作 当然是短标签替换为整标签 注意顺序 ...
- Windows 7运行命令大全
Windows 7运行命令大全,小编整理了常用的45个Win7运行命令分享给大家:1.cleanmgr:打开磁盘清理工具 2.compmgmt.msc:计算机管理 3.conf:启动系统配置实用程序 ...
- 获取设备和 App 信息
设备对照表:https://www.theiphonewiki.com/wiki/Models 获取设备和 App 信息代码: NSLog(@"设备信息如下"); NSLog(@& ...