ansible 基础命令
ansible 命令总结
1. Ad-HOC: 适合临时执行任务
2. Playbook: 适合一些复杂的部署和配置环境
一 、  Ad-HOC: 适合临时执行任务
ansible-doc -l  查看ansible的可用模块
1.pnig 检查是否能联通
2.yum  选项:name 安装包名字 state 可以写一些安装或者卸载的命令 
例子 ansible webservers -m yum -a 'name=httpd state=latest/absent'
3.command  ansible的默认模块 可以实现一些系统命令 
例子 ansible webservers -m command -a 'echo 123 '\
4.shell  类似command模块 但是支持shell命令的使用  && | 
例子 ansible webservers -m shell -a 'cd /root && mkdir 123 '
5.service 选项:name 服务名字 state started(启动)/stopped(停止)/reloaded(重载) enabled 默认为no,可以管理服务的开机自启
例子  ansible webservers -m service -a 'name=httpd state=started enabled=yes'
6.file 选项:group(用来定义文件/目录的属组) mode(用来定义文件/目录的权限) owner(用来定义文件/属组的属主) *path(用来定义文件/目录的路径) src(要被链接的源文件的路径) dest(被链接到的路径) state: directory(创建目录) file/touch(创建文件) link(创建软连接) hard(创建硬链接) absent(删除文件/目录/取消链接文件)
例子 ansible webservers -m file -a 'path=/root/mulu/wenjian.txt state=touch'
7.user 选项:home(创建家目录) groups(指定用户组) uid(指定UID) password(设置密码,密码必须是密文,可以用openssl passwd设置密文密码) name(创建用户名) state(可写可不写,默认是创建,absent是删除) remove(删除用户家目录,可写可不写)
例子 ansible webservers -m user -a 'name=tom state=present'
8.group 选项:gid(指定的gid) name(指定用户名) state(删除还是创建 absent/present) 不常用可不写
9.copy 选项:src(ansible主机的相对路径) dest(复制到ansible管理的主机的相对路径) backup(是否备份默认为no) mode(授权) 
例子  ansible webservers -m copy -a 'src=/root/index.html dest=/opt/'
10.unarchive 选项:copy(再解压之前将压缩包复制到远程主机,默认为yes,若为no,目标主机必须要有压缩包,可写可不写) creates(指定一个文件名,当该文件存在时,则解压指令不执行,可写可不写) dest(目标主机文件解压的绝对路径) src(解压包的源路径) group(解压后的目录或文件的属组) mode(解压后文件或目录的权限) owner(解压后文件或目录的属主) 
例子  ansible webservers -m unarchive -a 'src=/root/123.tar.gz dest=/root/ mode=777'
11.get_url 选项:url(指定下载的url地址) dest(下载到目标主机的绝对路径) 
例子  ansible webservers -m get_url -a 'url=http://baidu.com/123.tar.gz dest=/root/'
12.fetch 选项:src(远程系统上要获取的文件。 这必须是一个文件,而不是一个目录。) dest(保存文件的目录)
例子  ansible webservers -m fetch -a 'src=/opt dest=/root/index.html' (跟copy是相反的)
13.setup 选项:filter(用于进行条件过滤,可以根据一些命令来获取远程主机的基本信息)
    关键词: 
           ansible_all_ipv4_addresses (显示ipv4的信息)
           ansible_devices   (显示磁盘设备的信息)
           ansible_distribution  (显示系统)
           ansible_distribution_major_version (显示系统主版本)
           ansible_distribution_version  (显示系统版本)
           ansible_eth0 (显示eth0的信息)
           ansible_hostname  (显示主机名)
           ansible_processor  (显示具体cpu个数)
           ansible_python_version   (显示python版本) ~~~~等
例子  ansible webservers -m setup -a 'filter=ansible_all_ipv4_addresses'
二 、 playbook的编写
    核心元素:
       hosts           (主机组(webservers~~等))
       vars            (定义变量)
       tasks           (执行的任务)
       name            (任务的描述)
       template        (引用模板文件)
       tags            (标签,配合handlers用)
       handlers        (定义触发动作)
    循环变量: 
        with_items
        when
ansible 基础命令的更多相关文章
- ansible基础命令实例
		
参考:https://www.cnblogs.com/ilurker/p/6421624.html 1. 使用自定义的hosts 格式: ansible 组机匹配 -i 自定义的hosts - ...
 - 003.Ansible基础使用
		
一 Ansible命令用法 Ansible命令行执行方式有:Ad-Hoc.Ansible-playbook两种,Web方式其官方提供付费产品Tower.Ad-Hoc主要用于临时命令的执行,Ansibl ...
 - Ansible基础使用
		
原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 Ansible命令用法 1.1 免密钥 1.2 Ad-Hoc基础命令 1.3 ...
 - ansible基础☞第一条命令
		
我的两个测试机: 系统: ubuntu 16.04.2 ansible-master: 192.168.0.107 ansible-slave: 192.168.0.108 ansible版本: ro ...
 - ansible基础-安装与配置
		
一 安装 1.1 ansible架构 ansible是一个非常简单的自动化部署项目,由python编写并且开源.用于提供自动化云配置.配置文件管理.应用部署.服务编排和很多其他的IT自动化需求. an ...
 - ansible基础-优化
		
简介 当管理集群达到一定规模时,ansible达到性能瓶颈是难以避免的,此时我们可以通过一定手段提高ansible的执行效率和性能. 笔者虽未管理过超大规模服务器,但也通过查找资料和咨询大神了解了一些 ...
 - ansible基础-理解篇
		
1. 介绍 要说现在的部署工具,ansible可以说家喻户晓了. ansible是一个开源软件,用于软件供应.配置管理.应用部署.ansible可以通过SSH.remote PowerShell.其他 ...
 - ansible基础-roles
		
一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件.变量文件.handlers文件的集合体,这个集合体的显著特点是:可移植性和可重复执行性. 实践中,通常我们以 ...
 - ansible基础-playbooks
		
1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...
 
随机推荐
- vuejs 入门
			
配置环境教程网上太多了,就不赘述了,建议使用npm 命令行安装,总觉得这个念头不会使用命令行配置环境的就不是一个好的程序员,或者为了方便也可以直接在本地建一个.html文件,然后引用下面的链接即可. ...
 - 在 Vue中使用layui日历控件,标注重要日子
			
因为在vue文件中通过import加载,不知道为什么打包后会找不到js, 所以通过这种方法引入 在index.html中引入 文件目录 需要放在static目录下 <input type=&qu ...
 - vim常用命令集合(精心整理)
			
vim编辑器身为一个强大的linux平台编辑器,我就不多说他强大之处了,直接来简述下常用命令,提高自己使用编辑器的效率. 然后就先说下vim编辑器的模式,有的地方说三种,有的地方说两种,教程是按照两种 ...
 - bind cname
			
$TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS ...
 - day 37 CSS
			
参考博客:https://www.cnblogs.com/majj/p/9021419.html 1.CSS的三种链接样式: 行内链接(优先级最高) 内接样式 外接样式 <html lang=& ...
 - SpringCloud Sleuth + Zipkin 实现链路追踪
			
一.Sleuth介绍 为什么要使用微服务跟踪? 它解决了什么问题? 1.微服务的现状? 随着业务的发展,单体架构变为微服务架构,并且系统规模也变得越来越大,各微服务间的调用关系也变得越来越复杂 ...
 - 纵论WebAssembly,JS在性能逆境下召唤强援
			
webassembly的作用 webassembly是一种底层的二进制数据格式和一套可以操作这种数据的JS接口的统称.我们可以认为webassembly的范畴里包含两部分 wasm: 一种体积小.加载 ...
 - MySQL多索引查询选择
			
MySQL多索引查询选择 MySQL选择索引-引入 我们知道我们一个表里面可以有多个索引的,那么我们查询数据的时候不指定索引,MySQL就会帮我们自动选择.既然是MySQL程序帮我们自动选择的那么会不 ...
 - xshell使用xftp传输文件、使用pure-ftpd搭建ftp服务
			
6月25日任务 15.4 xshell使用xftp传输文件15.5 使用pure-ftpd搭建ftp服务扩展vsftp使用mysql存放虚拟用户并验证 http://www.aminglinux.co ...
 - JPA配置实体时 insertable = false, updatable = false
			
当使用JPA配置实体时,如果有两个属性(一个是一般属性,一个是多对一的属性)映射到数据库的同一列,就会报错. 这时,在多对一的@JoinColumn注解中添加insertable = false, u ...