Ansible ad-hoc


什么是ad-hoc?


临时命令,执行完不会保存,类似于批量执行命令。

ansible的选项


-i		# 指定主机清单
ansible rsync -m ping -i 1.txt -m # 指定模块
-a # 指定动作
[root@m01 ~]# ansible nfs_group -a 'df -h'
[root@m01 ~]# ansible nfs_group -m shell -a 'df -h'

ad-hoc返回的颜色


  • 绿色:被管理的主机没有发生修改
  • 黄色:被控主机发生了变更
  • 粉色:ansible发出的警告
  • 红色:报错

查看帮助文档


[root@m01 ~]# ansible-doc shell
# shell 是模块的名称,想查看什么模块直接在后面接上即可。

ad-hoc模块

command 模块


不支持管道符等特殊字符,用于执行系统命令,不仅限于linux。和shell模块差不多。

[root@m01 ~]# ansible web_group -m shell -a 'df -h'
[root@m01 ~]# ansible web_group -m command -a 'df -h'

shell 模块


用于执行命令

[root@m01 ~]# ansible web_group -m shell -a 'df -h'

script 模块


在本地执行的脚本,功能可以同步到其它机器上面去,被控制机器不需要脚本。

[root@m01 ~]# ansible web01 -m script -a '/root/a.sh'

yum 模块


# 查看帮助
[root@m01 ~]# ansible-doc yum # 安装httpd
[root@m01 ~]# ansible web_group -m yum -a 'name=httpd state=latest'
[root@m01 ~]# ansible web_group -m yum -a 'name=httpd state=present'
# 一般使用present # 卸载httpd
absent
[root@m01 ~]# ansible web_group -m yum -a 'name=httpd state=absent' # 指定网络的rpm包
[root@m01 ~]# ansible web_group -m yum -a 'name=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.1-1.el7.x86_64.rpm state=present' # 类似于
yum -y install https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/SRPMS/zabbix-4.4.1-1.el7.src.rpm # 在db组安装nginx,前提是db组上的主机有本地安装的包。
[root@m01 ~]# ansible db_group -m yum -a 'name=/root/nginx-1.18.0-1.el7.ngx.x86_64.rpm state=present'

需要掌握的方法

name:
指定安装的软件。
可以是本地的也可以是远程的链接包
state:
prsent 正常安装,类似于yum -y install
absent 删除、卸载
lastet 最新版本

yum_repository 模块


[root@m01 ~]# ansible-doc yum_repository

[root@m01 ~]# ansible web_group -m yum_repository -a 'name=gong description=gong baseurl=zp.gong.com gpgcheck=0 enabled=no'

# web01生成的文件
[root@web01 ~]# cat /etc/yum.repos.d/gong.repo
[gong]
baseurl = zp.gong.com
enabled = 0
gpgcheck = 0
name = gong # file指的是yum仓库的文件名,gong是[ ] 里面的内容,des是name的内容
[root@m01 ~]# ansible web_group -m yum_repository -a 'file=nginx name=gong description=gong baseurl=zp.gong.com gpgcheck=0 enabled=no' # web01生成的文件
[root@web01 ~]# cat /etc/yum.repos.d/nginx.repo
[gong]
baseurl = zp.gong.com
enabled = 0
gpgcheck = 0
name = gong # 删除yum仓库文件,最好是把文件名和仓库名都加上,防止误删。
[root@m01 ~]# ansible web_group -m yum_repository -a 'file=nginx name=gong state=absent' # 直接在文件里面添加仓库,file不变,其它参数改变就会加上
[root@m01 ~]# ansible web_group -m yum_repository -a 'file=nginx name=liao description=liao baseurl=tencent.gong.com gpgcheck=0 enabled=yes' [root@web01 /etc/yum.repos.d]# cat nginx.repo
[xiao]
baseurl = qq.gong.com
enabled = 1
gpgcheck = 0
name = xiao [liao]
baseurl = tencent.gong.com
enabled = 1
gpgcheck = 0
name = liao name #指定仓库名,如果没有file,则仓库名为文件名
baseurl #指定yum源
description # yum配置文件中的name
gpgcheck #指定检查秘钥,也可用数字
no
yes enabled #是否启用仓库
no
yes
FBI WARNING
QQ:1402122292 认准原创sheldon 别人叫我晓东
欢迎访问个人站点:shelldon.51vip.biz

Ansible命令行方式执行的更多相关文章

  1. Windows命令行方式执行OracleSQL脚本

    调用格式 sqlplus user/pwd@orcl @F:\DB_BAKFile\createpro.sql>>F:\DB_BAKFile\log\createpro.log SQL脚本 ...

  2. 以cmd命令行方式执行php文件时,传递参数

    1. php自带的两个参数$argc, $argv: 1.1. $argv : (后面的v是variables的意思),传递进来的参数会以数组的方式保持在这个变量里 1.2. $argc : (后面的 ...

  3. 转 mysql mysql命令行中执行sql的几种方式总结

    https://www.jb51.net/article/96394.htm 1.直接输入sql执行 MySQL> select now(); +---------------------+ | ...

  4. 在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容

    一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接 ...

  5. MySQL命令行下执行.sql脚本详解

    本文主要介绍一个在MySQL命令行下执行脚本文件的例子,通过这个例子让我们来了解一下在命令行下MySQL是怎样执行脚本的吧.现在我们开始介绍这一过程. 1.首先编写sql脚本,保存为的:book.sq ...

  6. iOS:命令行方式使用OSChina托管私有代码

    一.介绍 在项目开发中,使用版本控制工具是必不可少的开发工具,它可以帮助我们程序员写完代码后及时提交备份,防止因个人操作导致代码被误删除了或者丢失了,安全可靠.同时,使用版本控制器工具也可以很方便的进 ...

  7. JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)

    1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...

  8. SoapUI命令行方式运行

    http://stackoverflow.com/questions/9220132/soapui-groovy-script-calls-to-command-line SoapUI支持用命令行方式 ...

  9. Ubuntu下几个命令行方式使用的图片浏览工具

    想找几个Ubuntu下可以以命令行方式使用的图片浏览工具. Google了一些资料,找到下面几个web: 1.pho:轻巧的命令行图片查看器 其中介绍了工具pho,其功能特点,见下面的转帖内容: ph ...

随机推荐

  1. java面试一日一题:mysql事务是如何实现的

    问题:请讲下mysql的事务是如何实现的 分析:该问题主要考察对事务的理解及实现方式: 回答要点: 主要从以下几点去考虑, 1.对事务的概念的理解? 2.事务的实现方式? 讲到mysql的事务,很快可 ...

  2. OO_Unit2 多线程电梯总结

    OO_Unit2 多线程电梯总结 相比于Unit1的表达式求导,Unit2的多线程电梯听上去似乎显得更加"高大上".但在完成了3个task的迭代后再回过头去比较这两个单元,我发现其 ...

  3. C语言-字符串函数的实现(一)之strlen

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...

  4. Leedcode算法专题训练(栈和队列)

    1. 用栈实现队列 232. Implement Queue using Stacks (Easy) Leetcode / 力扣 class MyQueue { Stack<Integer> ...

  5. Python面向对象的高级编程

    数据封装.继承和多态只是面向对象程序设计中最基础的3个概念.在Python中,面向对象还有很多高级特性,允许我们写出非常强大的功能. 我们会讨论多重继承.定制类.元类等概念. 使用__slots__ ...

  6. ElasticSearch-02-elasticsearch.yaml

    # ======================== Elasticsearch Configuration ========================= # # NOTE: Elasticse ...

  7. 13. VUE 组件之间数据传递

    组件数据传递: 父组件向内传递属性---动态属性 子组件向外发布事件 solt 插槽传递模板---具名solt 1. 父组件向子组件传递数据 子组件在父组件的并作为标签引入,通过设置标签的属性传递数据 ...

  8. Unix ls UVA - 400

      The computer company you work for is introducing a brand new computer line and is developing a new ...

  9. 翻译:《实用的Python编程》InstructorNotes

    实用的 Python 编程--讲师说明 作者:戴维·比兹利(David Beazley) 概述 对于如何使用我的课程"实用的 Python 编程"进行教学的问题,本文档提供一些通用 ...

  10. spring boot 集成logstash 日志

    1.logstash 插件配置 logstash下config文件夹下添加 test.conf 文件内容: input{ tcp { mode => "server" hos ...