Ansible Ad—hoc 模式常用模块
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 模式常用模块相关推荐
- ansible的参数及常用模块
ansible的参数及常用模块 参数: 查看帮助手册:ansible-doc -a 查指定模块的帮助:ansible-doc -s 模块名 ansible-doc -s setup ...
- 360wifi linux ad hoc,Ad Hoc模式无线局域网搭建
title: 记一次Ad Hoc模式无线局域网搭建 date: 2018-10-30 20:10:16 无线ad hoc网络是由一组自主的无线节点或终端网络相互合作而形成的,独立于固定的基础设施的并且 ...
- ad hoc模式的wifi网简介及其搭建
Ad hoc模式的wifi网简介及搭建 1.wireless-fidelity(wifi)定义及组成:使用IEEE802.11标准协议的局域网,通常称为wifi.它的基础组成是:无线网卡及一台AP(网 ...
- Ansible基本使用及常用模块详解
一.ansible基本使用 定义主机组 定义被管理节点列表的文件/etc/ansible/hosts,在定义被管理节点的时候,可以单独基于主机做定义,也可以将多个主机定义成一个主机组. 在上篇博文安装 ...
- ANSIBLE的安装和常用模块使用详细教程
ANSIBLE安装和各种模块应用功能 文章目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ans ...
- Ansible纸上谈兵02:常用模块
背景 这里以 ad-hoc 命令的方式介绍下 Ansible 经常用到的模块. Ansible 已经具备丰富的模块生态,我们可以借助 Ansible 的模块完成日常在 Linux 操作系统上的运维工作 ...
- 基于Ad hoc的多跳通信
实验原理 What is Ad-Hoc 定义: Ad-Hoc(点对点)模式:ad-hoc模式就和以前的直连双绞线概念一样,是P2P的连接,所以也就无法与其它网络沟通了.一般无线终端设备像PMP.PSP ...
- 【Tensorflow教程笔记】常用模块 tf.function :图执行模式
基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...
- 【Tensorflow教程笔记】常用模块 tf.train.Checkpoint :变量的保存与恢复
基础 TensorFlow 基础 TensorFlow 模型建立与训练 基础示例:多层感知机(MLP) 卷积神经网络(CNN) 循环神经网络(RNN) 深度强化学习(DRL) Keras Pipeli ...
最新文章
- [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)
- ES6--基础语法(一)
- 存储技术与iSCSI
- mysql table fetching_MySQL死锁分析一例
- 小米“小仙女”来了:强大美颜 女性专属的定制手机
- iOS ipv6审核被拒绝的解决方案(已审核通过)
- 《网络工程师软考辅导——3年真题详解与全真模拟》主要创新点、关注点
- java entitybuilder_Java MultipartEntityBuilder.setContentType方法代码示例
- 苹果电脑是“监狱”、弃用 Ubuntu,GNU 创始人斯托曼谈自由软件运动现状
- matlab卡住了怎么办,如何解决matlab运行慢或死机的情况
- Three.js鼠标点击平面实现任意画线功能
- AS 使用Statistic插件统计代码行数
- 阿里云、百度云、腾讯云、AWS、微软Azure、华为云、金山云等云服务商产品的差异是啥?
- 二零一九己亥年中秋快乐
- DevpTips_JupyterNotebook的基本命令IPython
- java手机刷机精灵,按钮救星(按键精灵所有者读写权限)
- 人工智能研究的内容:_更深入:人工智能研究的思想史
- [转]嵌入式Web服务器
- 还在用excel做应收应付管理吗?你的痛苦我都知道
- 电子商务设计师书籍的记录
热门文章
- 基于SSM框架的企业信息管理平台
- 程序员的浪漫情诗,您学会了吗?
- 《嫌疑人X的献身》读后感
- 【Offer-ssp】OPPO 2020届秋季校园招聘数据分析 | 笔试+一面+二面+HR面(2019.10.12-10.18)
- Maven projects need to be imported!
- 计算机监测可以装win10,如何检测电脑能不能升级Win10?电脑是否符合升级win10?
- 51单片机玩转物联网基础篇05-控制继电器
- 垃圾分类游戏HTML,三七互娱:60秒挑战垃圾分类
- 一点透视,二点透视,三点透视的理解
- 梦游天姥吟留别课件PPT模板