一、什么是Ad-hoc

称为临时命令,简单说,就是在命令行界面,直接通过一条ansible命令,去指定主机执行指定指令,功能有限
例如:ansible localhost -m command -a "df -h"

二、Ad-hoc用法

  Usage: ansible <host-pattern> [options]

<host-pattern>  #主机或主机组,被执行的客户端设备,必填项

[option]:
-m module #【常用】模块,指定要执行使用的模块
-a #【常用】代模块参数,使用-m指定某个模块,该模块可能需要跟某些参数,此时参数就放在-a 后面的双引号内" "。不加-m 模块,直接使用-a 指默认指定了-m command 模块
-u USERNAME #--user=USERNAME:指定远程主机以USERNAME运行命令
-k #--ask-pass SSH:认证密码,回车手动输入密码
-c CONNECTION #--connection=CONNECTION:指定连接方式,可用选项paramiko,ssh,local
-f NUM #--forks=NUM:并发线程数,默认是5个线程
--list-hosts #列出符合条件的主机列表,不执行任何命令
-v #--verbose:输出更详细的执行过程信息
-vvv #可得到执行过程所有信息
-i PATH #--inventory(清单,即主机列表文件路径)=PATH:指定inventory(清单)信息,默认路径是/etc/ansible/hosts
--private-key=PRIVATE_KEY_FILE #指定密钥文件
-M DIRECTORY #--module-path=DIRECTORY:指定模块存放路径,默认/usr/share/ansible/,也可通过ANSIBEL_LIBRARY设定默认路径
-K #--ask-sudo-pass sudo:用户的密码(--sudo时使用)
-o #--one-line:标准输出至一行
-s #--sudo:相当于linux系统下的sudo命令
-t DIRECTORY #--tree=DIRECTORY:输出信息至DIRECTORY目录下,结果文件以远程主机命名
-T SECONDS #--timeout=SECONDS:指定连接远程主机的最大超时,单位是秒
-B NUM #--background=NUM:后台执行命令,超过NUM秒后中止正在执行的任务
-P NUM #--poll=NUM:定期返回后台任务进度
-l SUBSET #--limit=SUBSET:指定运行主机
-l ~REGEX #--limit=~REGEX:指定运行主机(正则)

三、Ansible的帮助文档ansible-doc

  3.1 命令用法

ansible-doc [options] [module...]

  3.2 options选项

--version    #显示工具版本号
-h #显示该help说明
-M MODULE_PATH #--module-path=MODULE_PATH指定ansible模块的默认加载目录
-l #--list:列出所有可用模块
-s #--sinppet:只显示playbook说明的代码段
-v #等同于--version,显示工具版本号 例如:ansible-doc -l #列出所有可用模块

  3.3 module选项

例如:ansible-doc yum    #查看yum模块的使用说明

  

四.实例

  实例1:测试远端网络设备的ssh服务是否能正常访问

  命令:ansible 192.168.62.41 -m ping -U cisco -c local -k

 

#此命令,各参数解析
#192.168.62.41 #此ip已存在/etc/ansible/hosts文件,并开启了inventory功能(/etc/ansible/ansible.cfg)
-m ping #使用ping模块,用于测试远端服务ssh的可登陆性
-U cisco #以用户名cisco登录远端主机
-c local #local指定从本地执行python脚本,默认是在远端执行python脚本,因此采用默认连接方式,远端必须是有python环境的
#因此远端若是网络设备,因为不可能还有python环境,因此都需要指定采用本地连接方式-c local
-k #回车,输入ssh密码

  实例2:获取远端网络设备的设备配置信息

  命令:ansible 192.168.62.41 -c local -m ios_facts -a 'auth_pass=cisco gather_subset=all authorize=yes' -u cisco -k

-c  local    #使用本地连接,默认是远端链接
-m ios_facts #ios_facts是思科ios的设备信息模块
-a #模块里的参数
-a 'auth_pass=cisco gather_subset=all authorize=yes'
auth_pass #enable密码
gather_subset #收集给定子集的范围,如收集所有all;只收集配置信息config;不只收集硬件信息!hardware
-u username #登录设备用户名
-k #回车输入设备登录密码

二、Ansible的Ad-hoc介绍篇的更多相关文章

  1. 个性二维码开源专题<介绍篇>

    由C#编写的个性二维码底层,已应用到 码晒客/疯狂创意二维码等项目上,并获得多项软件著作专利. 疯狂创意二维码 疯狂创意二维码是可用于生成风格独特的个性化二维码生成器,用户可以将目标信息输入到二维码生 ...

  2. ansible常用ad hoc操作

    ansible group001 -i hosts.ip -m shell -a -v

  3. 使用ADMT和PES实现window AD账户跨域迁移-介绍篇

    使用 ADMT 和 pwdmig 实现 window AD 账户跨域迁移系列: 介绍篇 ADMT 安装 PES 的安装 ADMT:迁移组 ADMT:迁移用户 ADMT:计算机迁移 ADMT:报告生成 ...

  4. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  5. Ad hoc sql

    SQL Server如何启用Ad Hoc Distributed Queries? 2011-08-11 14:53 wangdingbang CSDN博客 字号:T | T   本文主要介绍了SQL ...

  6. XE7 & IOS开发之开发账号(3):证书、AppID、设备、授权profile的申请使用,附Debug真机调试、Ad hoc下iPA文件生成演示(XCode5或以上版本推荐,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...

  7. XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...

  8. 最牛逼android上的图表库MpChart(一) 介绍篇

    最牛逼android上的图表库MpChart一 介绍篇 MpChart优点 MpChart是什么 MpChart支持哪些图表 MpChart效果如何 最牛逼android上的图表库MpChart(一) ...

  9. ios开发 ad hoc

    iOS证书分2种,1种是开发证书,用来给你(开发人员)做真机测试的:1种是发布证书,发布证书又分发布到app store的(这里不提及)和发布测试的ad hoc证书. 那ad hoc证书和开发证书区别 ...

  10. 未打开Ad Hoc Distributed Queries

    SSAS访问ORACLE数据仓库读取数据创建CUBE的时候报如下错误: SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'Open ...

随机推荐

  1. 「数据分析」Sqlserver中的窗口函数的精彩应用之数据差距与数据岛(含答案)

    上一篇介绍过数据差距与数据岛的背景,这里不再赘述,请翻阅上一文.此篇在Sqlserver上给大家演示1000万条记录的计算性能. 测试电脑软硬件说明 一般般的笔记本电脑,2017年7月,价格:4500 ...

  2. [剑指offer] 16. 合并两个排序的链表

    题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 解法一: 非递归解 class Solution { public: ListNode *Mer ...

  3. FJNUOJ 1002 画葫芦。。

    画图就是..找..规..律 #include <iostream>using namespace std;int main(){ int T; cin>>T; while(T- ...

  4. HttpServlet cannot be resolved to a type 解决办法

    刚开始学习Servlet,在Eclipse中新建了一个Servlet,不过页面上报错: Httpservlet cannot be resolved to a type,显然是Eclipse找不到相应 ...

  5. python的发展史

    python的发展史 1989年,被称为龟叔的Guido在为ABC语言写插件时,产生了写一个简洁又实用的编程语言的想法,并开始着手编写.因为其喜欢Monty Python喜剧团,所以将其命名为pyth ...

  6. Chrome 使用 Evernote 插件

    Chrome 插件不能登印象笔记进行裁剪,被困扰有段时间了.昨天偶然在知乎上找到了解决方法: 链接:https://www.zhihu.com/question/20340803/answer/291 ...

  7. 【iOS】UITableViewDelegate 方法没有调用

    可能原因:没有调用 reloadData 方法. [self.tableView reloadData];

  8. springboot-权限控制shiro(二)

    目录 1. 场景描述 2. 解决方案 1. 场景描述 (1)最近有点小忙,公司真实项目内容有点小多以及不想只介绍理论,就使用springboot单独部署了个shiro的demo项目,还是理论和实际项结 ...

  9. CountDownLatch实现多线程并发请求

    package com.test; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Dat ...

  10. HelloDjango 系列教程:Django 的接客之道

    文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 Web 服务简单的说就是处理请求,每个请求就像是一个"顾客".首先热情地把顾客迎接进来,然后满足用户的个性 ...