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 基础命令的更多相关文章

  1. ansible基础命令实例

    参考:https://www.cnblogs.com/ilurker/p/6421624.html 1. 使用自定义的hosts 格式: ansible  组机匹配  -i  自定义的hosts  - ...

  2. 003.Ansible基础使用

    一 Ansible命令用法 Ansible命令行执行方式有:Ad-Hoc.Ansible-playbook两种,Web方式其官方提供付费产品Tower.Ad-Hoc主要用于临时命令的执行,Ansibl ...

  3. Ansible基础使用

    原文转自:https://www.cnblogs.com/itzgr/p/10233932.html作者:木二 目录 一 Ansible命令用法 1.1 免密钥 1.2 Ad-Hoc基础命令 1.3 ...

  4. ansible基础☞第一条命令

    我的两个测试机: 系统: ubuntu 16.04.2 ansible-master: 192.168.0.107 ansible-slave: 192.168.0.108 ansible版本: ro ...

  5. ansible基础-安装与配置

    一 安装 1.1 ansible架构 ansible是一个非常简单的自动化部署项目,由python编写并且开源.用于提供自动化云配置.配置文件管理.应用部署.服务编排和很多其他的IT自动化需求. an ...

  6. ansible基础-优化

    简介 当管理集群达到一定规模时,ansible达到性能瓶颈是难以避免的,此时我们可以通过一定手段提高ansible的执行效率和性能. 笔者虽未管理过超大规模服务器,但也通过查找资料和咨询大神了解了一些 ...

  7. ansible基础-理解篇

    1. 介绍 要说现在的部署工具,ansible可以说家喻户晓了. ansible是一个开源软件,用于软件供应.配置管理.应用部署.ansible可以通过SSH.remote PowerShell.其他 ...

  8. ansible基础-roles

    一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件.变量文件.handlers文件的集合体,这个集合体的显著特点是:可移植性和可重复执行性. 实践中,通常我们以 ...

  9. ansible基础-playbooks

    1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...

随机推荐

  1. gRPC asp.net core自定义策略认证

    在GitHub上有个项目,本来是作为自己研究学习.net core的Demo,没想到很多同学在看,还给了很多星,所以觉得应该升成3.0,整理一下,写成博分享给学习.net core的同学们. 项目名称 ...

  2. ubantu删除源码安装文件

    1.在安装目录下执行 make uninstall (如安装目录为/opt/software/opencv3.1.0/release) 2.删除系统相关文件 cd /usr sudo find . - ...

  3. Mac安装和卸载Mysql

    目录 一.安装 二.环境变量 2.1 MySQL服务的启停和状态的查看 三.启动 四.初始化设置 4.1 退出sql界面 五.配置 5.1 检测修改结果 一.安装 第一步:打开网址,https://w ...

  4. 什么是PHP Socket?

    什么是 Socket? Socket 的中文翻译过来就是“套接字”.套接字是什么,我们先来看看它的英文含义:插座. Socket 就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通 ...

  5. MySQL基础知识面试与答案

    1.Mysql 的存储引擎,myisam和innodb的区别. 答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用.表锁,不会出现死锁,适合小数据,小并发. 2.innodb是支持事务 ...

  6. 使用原生javaScript绘制带图片的二维码---js

    使用链接生成二维码主要是使用qr.js或者其他,把链接转化为二维码的形式,在使用canvas时需要设置画布的尺寸,生成的颜色. <div class="qr_code"> ...

  7. BeanUtils.copyProperties()怎样去掉字段首尾的空格

    背景 下午三时许,笔者正戴着耳机听着歌开心的敲着bug,忽然听到办公室的吵架声,原来是ios开发和产品小姐姐吵起来了,为了一个车牌号的校验问题.起因是ios传的车牌号没有将字符串的首尾空格去掉,后端直 ...

  8. Erlang/Elixir精选-第1期

    第1期(20191202) 文章 A short guide to the structure and internals of the Erlang distributed messaging fa ...

  9. golang实现rabbitmq消息队列失败尝试

    在工作中发现,有些时候消息因为某些原因在消费一次后,如果消息失败,这时候不ack,消息就回一直重回队列首部,造成消息拥堵. 如是有了如下思路: 消息进入队列前,header默认有参数 retry_nu ...

  10. 请停止编写这么多的for循环!

    在这篇文章中,我想和你一起回到基础知识,并讨论 Java 中的 for 循环.老实说,我正在为自己写这篇博客文章,因为我也会这样做.从 Java 8 开始,我们不必在 Java 中编写太多 for 循 ...