1. ad-hoc介绍

  ansible中有两种模式:ad-hoc模式和ansible-playbook模式。

  ad-hoc命令是一种可以快速输入的命令,而且不需要保存起来的命令。

  ad-hoc适合解决一些简单或者平时工作中临时遇到的困难。

2. ad-hoc的使用场景

  • 在多台机器上,查看某个进程是否启动
  • 在多台机器上,拷贝指定文件到本地等等

3. ad-hoc模式命令的使用

  命令+主机名称+指定的模块+模块名称+模块动作+具体的命令

  如:ansible ans -m shell -a 'ls /root'

4. ansible帮助查看方式

ansible-doc -l           #查看所有的模块与简要说明
ansible-doc copy         #查看指定模块的方式
ansible-doc -s copy      #查看指定模块的playbook代码段

5. ad-hoc命令参数

ansible  <host-pattern> [options]-v|--version                                                #输出更详细的执行过程信息,-vvv可得到执行过程所有的信息
-i|PATH|--inventory(清单)=PATH                               #指定inventory(清单)信息,默认/etc/ansible/hosts
-f NUM|--forks=NUM                                          #并发线程数,默认是5个
--private-key=PRIVATE_KEY_FILE                              #指定密钥文件
-m NAME|--module-name=NAME                                  #指定使用的模块
-M DIRECTORY,--module-path=DIRECTORY                       #指定模块存放路径,默认/usr/share/ansible,也可以通过ANSIBLE_LIBRARY设定默认路径。
-a ‘ARGUMENTS’,--args=‘ARGUMENTS’                          #模块参数。
-k,--ask-pass SSH                                          #认证密码
-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                                          #定期返回后台任务进度。
-u USERNAME,--user=USERNAME                                #指定远程主机以USERNAME运行命令。
-U SUDO_USERNAME,--sudo-user=SUDO_USERNAME                 #使用sudo,相当于LInux下的sudo命令。
-c CONNECTION,--connection=CONNECTION                      #指定连接方式,可用选项paramiko(SSH)、ssh、local,local方式常用于crontab和kickstarts。
-l  SUBSET,--limit=SUBSET                                  #指定运行主机。
-l ~REGEX,--limit=~REGEX                                   #指定运行主机(正则)。
--list-hosts                                                #列出符合条件的主机列表,不执行任何命令。

6. ansible常用模块

命令相关模块

command模块        shell模块            service模块

文件相关模块

file模块        copy模块        fetch模块

用户相关模块

user模块        group模块

yum_repository模块

7、command模块

  命令模块适合使用简单的命令,无法支持"<"、">"、"|"、";"、"&"等符号,功能是在远程主机上执行命令,此模块为默认模块,可以忽略-m选项。

chdir          #在执行命令前,进入到指定的目录中
creates        #判断指定文件是否存在,如果存在,不执行后面的操作
removes        #判断指定文件是否存在,如果存在,执行后面的操作
free_from      #必须要输入一个合理的命令ansible 192.168.100.204 -a 'chdir=/tmp pwd'    #切换目录
ansible 192.168.100.204 -a 'creates=/tmp ls /etc//passwd'    #creates文件存在则不执行
ansible 192.168.100.204 -a 'removes=/tmp ls /etc//passwd'    #remives文件存在则执行

8.shell模块

  类似于command模块,但是功能比command要更强大。支持"<"、">"、"|"、";"、"&"等符号。

chdir                #在执行命令前,进入到指定目录中
creates              #判断指定文件是否存在,如果存在,不执行后面的操作
removes              #判断指定文件是否存在,如果存在,执行后面的操作
free_form            #必须要输入一个合理的命令

1)调用shell模块

ansible 192.168.100.204 -m shell -a 'mkdir -p /root/dgf && ls /root/'        #调用shell模块

2)调用shell模块查看root下的所有目录和文件

[root@localhost /]# ansible 192.168.100.204 -m shell -a 'ls /root'

seript 用于执行被管理机器上面执行shell脚本的模块,脚本无需在被管理机器上面存在

3)在管理机上创建脚本

[root@localhost ~]# vim ansible_test.sh
#!/bin/bash
echo 'hostname'

4)给脚本赋予777权限

[root@localhost ~]# chmod 777 ansible_test.sh

5)在被管理服务器上执行脚本

[root@localhost ~]# ansible all -m script -a '/root/ansible_test.sh '
192.168.100.205 | CHANGED => {"changed": true, "rc": 0, "stderr": "Shared connection to 192.168.100.205 closed.\r\n", "stderr_lines": ["Shared connection to 192.168.100.205 closed."], "stdout": "hostname\r\n", "stdout_lines": ["hostname"]
}
192.168.100.204 | CHANGED => {"changed": true, "rc": 0, "stderr": "Shared connection to 192.168.100.204 closed.\r\n", "stderr_lines": ["Shared connection to 192.168.100.204 closed."], "stdout": "hostname\r\n", "stdout_lines": ["hostname"]
}

9、file模块

用于对文件的处理,创建,删除,权限控制等

pah           #要管理的文件路径
recurse       #递归
state:
directory     #创建目录,如果目标不存在则创建目录及其子目录
touch         #创建文件,如果文件存在,则修改文件 属性
absent        #删除文件或目录
mode          #设置文件或目录权限
owner         #设置文件或目录属主信息
group         #设置文件或目录属组信息
link          #创建软连接,需要和src配合使用
hard          #创建硬件连接。需要和src配合使用

1)删除被管理服务器的文件或目录

[root@localhost /]# ansible 192.168.100.204 -m file -a 'name=/dgf state=absent' #name=路径默认是在root下

2)创建被管理服务器的文件或目录

[root@localhost /]# ansible 192.168.100.204 -m file -a 'name=ys state=directory'  #创建目录
[root@localhost /]# ansible 192.168.100.204 -m file -a 'name=456.txt state=touch'#创建文件

3)修改被管理服务器的文件或目录的权限

[root@localhost ~]# ansible all -m file -a 'path=/root/hehe mode=777'    #修改权限

Ansible Ad—hoc 模式常用模块相关推荐

  1. ansible的参数及常用模块

    ansible的参数及常用模块 参数: 查看帮助手册:ansible-doc    -a 查指定模块的帮助:ansible-doc   -s   模块名 ansible-doc  -s   setup ...

  2. 360wifi linux ad hoc,Ad Hoc模式无线局域网搭建

    title: 记一次Ad Hoc模式无线局域网搭建 date: 2018-10-30 20:10:16 无线ad hoc网络是由一组自主的无线节点或终端网络相互合作而形成的,独立于固定的基础设施的并且 ...

  3. ad hoc模式的wifi网简介及其搭建

    Ad hoc模式的wifi网简介及搭建 1.wireless-fidelity(wifi)定义及组成:使用IEEE802.11标准协议的局域网,通常称为wifi.它的基础组成是:无线网卡及一台AP(网 ...

  4. Ansible基本使用及常用模块详解

    一.ansible基本使用 定义主机组 定义被管理节点列表的文件/etc/ansible/hosts,在定义被管理节点的时候,可以单独基于主机做定义,也可以将多个主机定义成一个主机组. 在上篇博文安装 ...

  5. ANSIBLE的安装和常用模块使用详细教程

    ANSIBLE安装和各种模块应用功能 文章目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ans ...

  6. Ansible纸上谈兵02:常用模块

    背景 这里以 ad-hoc 命令的方式介绍下 Ansible 经常用到的模块. Ansible 已经具备丰富的模块生态,我们可以借助 Ansible 的模块完成日常在 Linux 操作系统上的运维工作 ...

  7. 基于Ad hoc的多跳通信

    实验原理 What is Ad-Hoc 定义: Ad-Hoc(点对点)模式:ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了.一般无线终端设备像PMP.PSP ...

  8. 【Tensorflow教程笔记】常用模块 tf.function :图执行模式

    基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...

  9. 【Tensorflow教程笔记】常用模块 tf.train.Checkpoint :变量的保存与恢复

    基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...

最新文章

  1. [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)
  2. ES6--基础语法(一)
  3. 存储技术与iSCSI
  4. mysql table fetching_MySQL死锁分析一例
  5. 小米“小仙女”来了:强大美颜 女性专属的定制手机
  6. iOS ipv6审核被拒绝的解决方案(已审核通过)
  7. 《网络工程师软考辅导——3年真题详解与全真模拟》主要创新点、关注点
  8. java entitybuilder_Java MultipartEntityBuilder.setContentType方法代码示例
  9. 苹果电脑是“监狱”、弃用 Ubuntu,GNU 创始人斯托曼谈自由软件运动现状
  10. matlab卡住了怎么办,如何解决matlab运行慢或死机的情况
  11. Three.js鼠标点击平面实现任意画线功能
  12. AS 使用Statistic插件统计代码行数
  13. 阿里云、百度云、腾讯云、AWS、微软Azure、华为云、金山云等云服务商产品的差异是啥?
  14. 二零一九己亥年中秋快乐
  15. DevpTips_JupyterNotebook的基本命令IPython
  16. java手机刷机精灵,按钮救星(按键精灵所有者读写权限)
  17. 人工智能研究的内容:_更深入:人工智能研究的思想史
  18. [转]嵌入式Web服务器
  19. 还在用excel做应收应付管理吗?你的痛苦我都知道
  20. 电子商务设计师书籍的记录

热门文章

  1. 基于SSM框架的企业信息管理平台
  2. 程序员的浪漫情诗,您学会了吗?
  3. 《嫌疑人X的献身》读后感
  4. 【Offer-ssp】OPPO 2020届秋季校园招聘数据分析 | 笔试+一面+二面+HR面(2019.10.12-10.18)
  5. Maven projects need to be imported!
  6. 计算机监测可以装win10,如何检测电脑能不能升级Win10?电脑是否符合升级win10?
  7. 51单片机玩转物联网基础篇05-控制继电器
  8. 垃圾分类游戏HTML,三七互娱:60秒挑战垃圾分类
  9. 一点透视,二点透视,三点透视的理解
  10. 梦游天姥吟留别课件PPT模板