zoukankan      html  css  js  c++  java
  • 二、Ansible的Ad-hoc介绍篇

    一、什么是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        #回车输入设备登录密码
  • 相关阅读:
    Android_PopupWindow提示框
    视图字段对应属性列表
    odoo 关系字段(关联关系)
    odoo字段属性
    odoo xml中添加数据的数字代表含义
    odoo 常用模型的简写
    odoo标识符
    odoo 权限文件说明
    Odoo的菜单项
    Odoo的 数据添加修改删除代码和对应的方式
  • 原文地址:https://www.cnblogs.com/lisenlin/p/10622643.html
Copyright © 2011-2022 走看看