3.1、Ansible命令简要说明及初步使用
1.Ansible命令
1.1 Ad-hoc说明
Ansible中有一个很重要的功能就是可以执行ad-hoc命令,它表示即时、临时的意思,即表示一次性的命令。与之相对的是ansible playbook功能,playbook适用于批量部署环境,一般不用经常改动。而ad-hoc命令,利用ansible的模块功能,适用于业务变更、临时检查和维护等操作场景,比如批量推送一个配置文件,重启某个服务,安装一些包等等。
1.2 命令结构
ansible命令行执行格式一般为:
ansible <host-pattern> [-f forks] [-m module_name] [-a args]
<host-pattern>:指明管控主机,以模式形式表示或者直接给定IP,必须事先定义在文件中;all设置所有,若主机有多个,也可单独制定某一个主机
比如<主机组>[0]:代表主机组内的第一个主机
如:
[user@localhost ~]$ ansible clong[0] -m ping
192.168.0.148 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[user@localhost ~]$ ansible clong[1] -m ping
192.168.0.149 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[user@localhost ~]$ ansible clong -m ping
192.168.0.149 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.0.148 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[-f forks]:指明每批管控多少主机,默认为5个主机一批次
[-m module_name]:使用何种模块管理操作,所有的操作都需要通过模块来指定
[-a args]:指明模块专用参数;args一般为key=value格式 注意:command模块的参数非为kv格式,而是直接给出要执行的命令即可;
注意:<host-pattern>默认读取/etc/ansible/hosts,也可以指明自定义文件路径
-iPATH, –inventory=PATH:指明使用的host inventory文件路径;
例如:
## 指定主机IP
#ansible 192.168.100.2 –m copy –a
"src=/tmp/test.txt dest=/tmp/test1.txt"
#此命令是将ansible控制机上的 /tmp/test.txt
拷贝到 主机192.168.100.2的/tmp/目录下,且名称是test1.txt。
#说明:
#-m 后面跟使用的模块 copy;
#-a 后面跟所使用的参数,src 表示源路径,dest表示目标主机路径
## 指定主机组
#ansible webserver –m copy –a
"src=/tmp/test.txt dest=/tmp/test2.txt"
#此命令是将ansible控制机上的
/tmp/test.txt 拷贝到 主机组webserver的/tmp/目录下,且名称是test2.txt
1.3 执行测试
# 测试主机172.16.12.241是否网络连通,可以使用如下命令测试:
[root@ansible
~]# ansible 172.16.12.241 -m ping
172.16.12.241 | SUCCESS =>
{
"changed": false,
"ping": "pong"
}
2.Ansible AD-HOC 临时命令的使用
2.1 查看主机运行时间
[root@ansible ~]# ansible all -m shell -a "uptime"
172.16.12.241 | SUCCESS | rc=0 >>
21:54:13 up 1:52, 2 users, load average: 0.00, 0.01, 0.05
说明: -m shell表示使用shell模块;
-a 表示使用的命令或者参数,shell模块所使用的是命令,查看运行时间,所以使用"uptime"。
2.2 查看主机 / 分区使用情况
[root@ansible ~]# ansible all -m shell -a "df -h /"
172.16.12.241 | SUCCESS | rc=0 >>
Filesystem
Size Used Avail Use% Mounted on
/dev/mapper/centos_wjh--centos7-root
48G 3.2G 45G 7% /
2.3 查看主机组 /etc/chrony.conf配置文件的权限及详细信息
[root@ansible ~]# ansible all -m shell -a "ls -l /etc/chrony.conf"
172.16.12.241 | SUCCESS | rc=0 >>
-rw-r--r--. 1 root root 1161
Feb 13 03:28
/etc/chrony.conf
2.4 推送test.conf 配置文件到 172.16.12.241 的 /etc/目录下,并修改文件名为 ttt.conf ,权限为600
[root@ansible ~]# ansible 172.16.12.241 -m copy -a "src=test.conf dest=/etc/ttt.conf
mode=0600 "
172.16.12.241 | SUCCESS =>
{
"changed": true,
"checksum": "dff19e48593efc79207494d625ddc4a22769ec2d",
"dest": "/etc/ttt.conf",
"gid": 0,
"group": "root",
"md5sum": "d0bab2e27173ed4bc5195da29d21920f",
"mode": "0600",
"owner": "root",
"size": 1062,
"src": "/root/.ansible/tmp/ansible-tmp-1487041285.77-71823315308297/source",
"state": "file",
"uid": 0
}
2.5 验证ttt.conf文件
[root@ansible ~]# ansible 172.16.12.241 -m command -a "ls -l /etc/ttt.conf"
172.16.12.241 | SUCCESS | rc=0 >>
-rw------- 1 root root 1062 Feb 13 22:01 /etc/ttt.conf
## 说明:
#command与shell模块使用方法几乎相同,与command不同的是,shell模块可以支持命令管道,同时还有另一个模块也具备此功能:raw
由此看见文件确实是推送成功,并且权限和文件名均已修改成功。
2.6 列出执行主机列表
[root@ansible ~]#ansible clong --list-hosts
3.1、Ansible命令简要说明及初步使用的更多相关文章
- ansible命令执行模块使用
ansible命令执行模块使用 1.命令执行模块-command 在远程节点上运行命令. 命令模块使用命令名称,接上空格-的分割符作为参数使用,但是不支持管道符和变量等,如果要使用这些,那么可以使用s ...
- ansible命令应用基础
ansible命令应用基础: Usage: ansible <host-pattern> [-f forks] [-m module_name][-a args] -f ...
- 二、ansible配置简要介绍
[defaults] # some basic default values… hostfile = /etc/ansible/hosts \\指定默认hosts配置的位置 # library_pat ...
- ansible命令应用示例
ansible命令应用示例 ping slave组 ansible slave -m ...
- ansible命令使用
ansible命令使用 查看每个服务器的主机名 1 $ ansible multi -a "hostname" 使用一个线程执行命令,相当于顺序在每个服务器上运行(默认5个线程执行 ...
- 自动化运维工具——ansible命令使用(二)
一.Ansible系列命令使用 ansible命令执行过程 1 . 加载自己的配置文件 默认/etc/ansible/ansible.cfg 2 . 加载自己对应的模块文件,如command 3 . ...
- 3.3、Ansible命令参数详解
0.ansible 命令参数详解: [root@localhost ~]# ansible Usage: ansible <host-pattern> [options] Options: ...
- 1、Ansible初识简要介绍及安装
1.Ansible简介 1.1 Ansible介绍 Ansible 是一个简单的自动化运维管理工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fab ...
- Linux命令集锦:ansible命令
ansible 命令主要用于批量管理,来实现自动化管理.常用批量操作包括:主机分组管理.实时批量执行命令或脚本.实时批量分发文件或目录.定时同步文件等. 一.安装 ansible yum instal ...
随机推荐
- owin--Authentication
下面的这个从httpcontext取出来的GetOwinContext的Authentication认证有很多关于cookie和session的方法,好像不实用owin也能取出来 private IA ...
- Vijos——T 1092 全排列
https://vijos.org/p/1092 描述 输入两个自然数m,n 1<=n<=20,1<=m<=n!输出n个数的第m种全排列. 如 :输入 3 1输出 1 2 3 ...
- “System.Runtime.InteropServices.COMException”类型的第一次机会异常在 ESRI.ArcGIS.Version.dll 中发生
“System.Runtime.InteropServices.COMException”类型的第一次机会异常在 ESRI.ArcGIS.Version.dll 中发生 其他信息: The speci ...
- Mycat分表分库
一.Mycat介绍 Mycat 是一个开源的分布式数据库系统,是一个实现了 MySQL 协议的的Server,前端用户可以把它看作是一个数据库代理,用 MySQL 客户端工具和命令行访问,而其后端可以 ...
- 听说”双11”是这么解决线上bug的
听说"双11"是这么解决线上bug的 --Android线上热修复的使用与原理 预备知识和开发环境 Android NDK编程 AndFix浅析 Android线上热修复的原理大同 ...
- UVA - 348Optimal Array Multiplication Sequence(递推)
id=19208">题目:Optimal Array Multiplication Sequence 题目大意:给出N个矩阵相乘.求这些矩阵相乘乘法次数最少的顺序. 解题思路:矩阵相乘 ...
- CSS学习(十六)-HSLA颜色模式
一.理论: 1.HSLA颜色模式 a.HSLA在HSL基础上添加了不透明度,值越大透明度越低 b.HSLA颜色模式的浏览器兼容性和HSL一样,仅仅有较新版本号的主流浏览器才支持 2.RGBA和HSLA ...
- hdu 1698 Just a Hook 基本线段树
使用线段树更新每段区间的奖(1,2,3),最后在统计整段区间的数和,基本线段树,果断1A啊 #include<iostream> #include<stdio.h> using ...
- Php socket数据编码
bytes.php 字节编码类 /** * byte数组与字符串转化类 * @author * created on 2011-7-15 */ class bytes { /** * 转换一个str ...
- 寒武纪芯片——有自己的SDK,支持tf、caffe、MXNet
寒武纪芯片 产品中心>智能处理器IP 智能处理器IP MLU智能芯片 软件开发环境 Cambricon-1A 高性能硬件架构及软件支持兼容Caffe.Tensorflow.MXnet等主流AI开 ...