Ansible自动化运维工具(二)

目录

(6)copy模块

(7)file模块

​编辑​编辑(8)hostname模块

(9)ping模块 

(10)yum 模块 

(11)service/system模块

​编辑

​编辑

(12)script模块

​编辑

(13)setup模块

(1)inventory 中的变量含义


(6)copy模块

用于复制指定主机文件到远程主机的

ansible-doc -s copy

常用的参数:

参数注释
dest指出复制文件的目标及位置,使用绝对路径,如果是源目录,指目标也要是目录,如果目标文件已经存在会覆盖原有的内
src指出源文件的路径,可以使用相对路径或绝对路径,支持直接指定目录,如果源是目录则目标也要是目录
mode指出复制时,目标文件的权限
owner指出复制时,月标文件的属主
group指出复制时,目标文件的属组
content指出复制到目标主机上的内容,不能与src一起使用
#将etc/fstab下的复制到opt/fstab.bak给予root属主、权限640
ansible dbservers -m copy -a 'src=/etc/fstab dest=/opt/fstab.bak owner=root mode=640'

#详细查看opt下的文件
ansible dbservers -a 'ls -l /opt'

 

#查看新创建的文件内容
ansible dbservers -a 'cat /opt/fstab.bak'

#将helloworld写入/opt/hello.txt文件中
ansible dbservers -m copy -a 'content="helloworld" de
st=/opt/hello.txt'

#查看写入的文件
ansible dbservers -a 'cat /opt/hello.txt'

(7)file模块

设置文件属性

#查看file模块下的功能,按q退出
ansible-doc -s file

举例:

#修改文件的属主属组权限等
ansible dbservers -m file -a 'owner=test01 group=mysql mode=644 path=/opt/fstab.bak'
#查看修改后的信息
ansible dbservers -m command -a 'chdir=/opt ls -lh ./'

#设置/opt/fstab.link为/opt/fstab.bak的链接文件
ansible dbservers -m file -a 'path=/opt/fstab.link src=/opt/fstab.bak state=link'
#查看修改后的信息
ansible dbservers -m command -a 'chdir=/opt ls -lh ./'

#创建一个文件
ansible dbservers -m file -a "path=/opt/abc.txt state=touch"
#查看修改后的信息
ansible dbservers -m command -a 'chdir=/opt ls -lh ./'

#删除一个文件
ansible dbservers -m file -a "path=/opt/abc.txt state=absent"
#查看删除后的信息
ansible dbservers -m command -a 'chdir=/opt ls -lh ./'

(8)hostname模块

用于管理远程主机上的主机名

ansible dbservers -m hostname -a "name=mysql01"

(9)ping模块 

检测远程主机的连通性

ansible all -m pingansible webservers -m pingansible 192.168.158.25 -m ping

 

(10)yum 模块 

在远程主机上安装与卸载软件包

ansible-doc -s yum
参数注释
name指定要安装卸载的软件
state=present/absent默认persent添加absent卸载

举例:

#安装hyyps服务
ansible dbservers -m yum -a "name=httpd"

#查看安装服务的状态
nsible dbservers -m command -a 'service httpd status'

#卸载httpd服务
ansible dbservers -m yum -a "name=httpd state=absent"

(11)service/system模块

管理远程被控制主机上的管理服务的运行状态

常用参数:

参数注释
name=“名称”管理的服务名称
enable=true/false设置服务开机自启或关闭
state=start/stop/restart设置服务的状态为开始/关闭/重启
enable=yes/no设置是否开机自启
runlevel若设置开机自启则要设置在那些系统等级使用

举例:

#下载httpd服务
ansible dbservers -m yum -a "name=httpd"
#设置开机自启,服务的状态为开启
ansible dbservers -m service -a 'enabled=yes  name=httpd state=started'

(12)script模块

实现远程批量运行本地的shell脚本

#查看模块下的功能
ansible-doc -s script
ansible服务器:
vim  /test.sh
#编写/下的test.sh脚本内容如下
#!/bin/bash
echo  "this is test"
chmod +x /test.sh
ansible webservers -m script -a "/test.sh"

(13)setup模块

setup 模块可以获取这些信息 facts 组件收集d 被管理节点信息

参数:filter 过滤可配合正则表达式。

ansible webservers -m setup -a 'filter=*ipv4'

3.hostsinverntory主机清单

hosts配置文件位置:/etc/ansible/hosts;

Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内

(1)inventory 中的变量含义

变量含义
ansible_hostansible连接节点时的IP地址
ansible_port连接对方的端口号,ssh连接时默认为22
ansible_user连接对方主机时使用的主机名。不指定时,将使用执行ansible或ansible-playbook命令的用户
ansible_password连接时的用户的ssh密码,仅在未使用密钥对验证的情况下有效
ansible_ssh_ private_key_file指定密钥认证ssh连接时的私钥文件
ansible_ssh_common_args提供给ssh、sftp、 scp命令的额外参数
ansible become允许进行权限提升
ansible become_ method指定提升权限的方式,例如可使用sudo/ su/runas等方式
ansible become_user提升为哪个用户的权限,默认提升为root
ansible_become_password提升为指定用户权限时的密码
#ansible主机配置
#如果是名称类似的主机,可以使用列表的方式标识各个主机。
vim /etc/ansible/hosts
[webservers]
192.168.198.12:22		#冒号后定义远程连接端口,默认是 ssh 的 22 端口
192.168.146.1[2:3]
[dbservers]
db-[a:f].example.org	#支持匹配 a~f
(1)主机变量
[webservers]
192.168.198.13 ansible_port=22 ansible_user=root ansible_password=000000
ansible webservers -a 'ls -lh /home'

(2)组变量
[webservers]
192.168.198.13
#表示为 webservers 组内所有主机定义变量
[webservers:vars]			
ansible_user=root
ansible_password=000000[all:vars]					#表示为所有组内的所有主机定义变量
ansible_port=22

ansible webservers -a 'ls -lh /home'

(3)组嵌套
[nginx]
192.168.198.12
192.168.198.13
192.168.198.14[apache]
192.168.198.3[0:3]#表示为 webs 主机组中包含了 nginx 组和 apache 组内的所有主机
[webs:children]		
nginx
apache

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/66077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习笔记之最优化理论与方法(五)凸优化问题(上)

机器学习笔记之最优化理论与方法——凸优化问题[上] 引言凸优化问题的基本定义凸优化定义:示例 凸优化与非凸优化问题的区分局部最优解即全局最优解凸优化问题的最优性条件几种特殊凸问题的最优性条件无约束凸优化等式约束凸优化非负约束凸优化 引言 本节将介绍凸优…

windows11 利用vmware17 安装rocky9操作系统

下载相关软件和镜像 vmware17 下载 下载页面 Download VMware Workstation Pro ​ rocky8镜像下载 官网链接:Rocky Linux 下载页面 Download Rocky | Rocky Linux 点击Minimal下载 安装rocky9 选择镜像文件,点击下一步 点击下一步 启动虚拟机 选…

C++面试题(期)-数据库(二)

目录 1.3 事务 1.3.1 说一说你对数据库事务的了解 1.3.2 事务有哪几种类型,它们之间有什么区别? 1.3.3 MySQL的ACID特性分别是怎么实现的? 1.3.4 谈谈MySQL的事务隔离级别 1.3.5 MySQL的事务隔离级别是怎么实现的? 1.3.6 事…

Windows和Linux环境中安装Zookeeper具体操作

1.Windows环境中安装Zookeeper 1.1 下载Zookeeper安装包 ZooKeeper官网下载地址 建议下载稳定版本的 下载后进行解压后得到如下文件: 1.2 修改本地配置文件 进入解压后的目录,将zoo_example.cfg复制一份并重命名为zoo.cfg,如图所示: 打…

uniapp 微信小程序添加隐私保护指引

隐私弹窗&#xff1a; <uni-popup ref"popup"><view class"popupWrap"><view class"popupTxt">在你使用【最美万年历】之前&#xff0c;请仔细阅读<text class"blueColor" click"handleOpenPrivacyContract…

ElasticSearch学习5-- 使用RestClient查询文档

1、查询基本步骤 1、创建SearchRequest对象 2、准备Request.source()&#xff0c;也就是DSL。 QueryBuilders来构建查询条件 传入Request.source() 的 query() 方法 3、发送请求&#xff0c;得到结果 4、解析结果&#xff08;参考JSON结果&#xff0c;从外到内…

国标视频融合云平台EasyCVR视频汇聚平台关于远程控制的详细介绍

EasyCVR国标视频融合云平台是一个能在复杂网络环境下统一汇聚、整合和集中管理各类分散视频资源的平台。该平台提供了多种视频能力和服务&#xff0c;包括视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、集群、电子地图、H.265视频自动转码和智能分析等…

几种Go版本管理工具

缘起: 编译下面这段代码时,在Mac上没有什么问题,正常运行, 点击查看代码: package mainimport ( "bytes" "encoding/binary" "encoding/json" "fmt" "log" "math/rand" "net/http" "time")fu…

C++包含整数各位重组

void 包含整数各位重组() {//缘由https://bbs.csdn.net/topics/395402016int shu 100000, bs 4, bi shu * bs, a 0, p 0, d 0;while (shu < 500000)if (a<6 && (p to_string(shu).find(to_string(bi)[a], p)) ! string::npos && (d to_string(bi…

【微服务部署】07-调用链追踪

文章目录 集成SkyWalking实现调用链追踪1. SkyWalking架构图2. 代码集成SkyWalking 集成SkyWalking实现调用链追踪 1. SkyWalking架构图 Receiver是SkyWalking的入口&#xff0c;支持gRPC和HTTP协议。 SkyWalking内部有分析和查询两个部分 存储方面SkyWalking支持Elasticsearc…

Windows下Git Bash调用rsync

rsync 提供了补充只需要在git安装目录下放入对应的文件即可。 需要将这个三个文件放到git的bin目录下 如果是默认安装路径是如下&#xff1a; C:\Program Files\Git\usr\bin 然后大功告成。

【Vue2】 axios库

网络请求库-axios库 认识Axios库为什么选择Axios库安装Axios axios发送请求常见的配置选项简单请求可以给Axios设置公共的基础配置发送多个请求 axios创建实例为什么要创建axios的实例 axios的拦截器请求拦截器响应拦截器 axios请求封装 认识Axios库 为什么选择Axios库 在游览…

105. 从前序与中序遍历序列构造二叉树

给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 思路&#xff1a;题目给出了先序遍历和中序遍历的结果&#xff0c;因为先序遍历遵循根–>左–>…

21 自定义miniweb框架|闭包装饰器|log输出

文章目录 前情知识介绍WSIG-miniWeb框架服务器动态资源请求浏览器请求动态页面的全流程WSGIWSGI接口的定义 静态服务器回顾以及改造web 服务器 和 逻辑处理代码 分离 web动态服务器的基本实现带参数的web动态服务器 闭包装饰器闭包闭包的基础使用函数、匿名函数、闭包、对象修改…

Nat. Commun.2023 | AI-Bind+:提高蛋白质配体结合预测的通用性

论文标题&#xff1a;Improving the generalizability of protein-ligand binding predictions with AI-Bind 论文地址&#xff1a;Improving the generalizability of protein-ligand binding predictions with AI-Bind | Nature Communications 代码&#xff1a; Barabasi…

华为数通方向HCIP-DataCom H12-821题库(单选题:181-200)

第181题 某管理员需要创建AS Path过滤器(ip as-path-iter),允许AS_Path中包含65001的路由通过,那么以下哪一项配置是正确的? A、​​ip as-path-filter 1 permit 65001​​ B、​​ip as-path-filter 1 permit "65001​​ C、​​ip as-path-filter 1 permit *6500…

wxWidgets从空项目开始Hello World

前文回顾 接上篇&#xff0c;已经是在CodeBlocks20.03配置了wxWidgets3.0.5&#xff0c;并且能够通过项目创建导航创建一个新的工程&#xff0c;并且成功运行。 那么上一个是通过CodeBlocks的模板创建的&#xff0c;一进去就已经是2个头文件2个cpp文件&#xff0c;总是感觉缺…

Pygame中Trivia游戏解析6-3

3.3 Trivia类的show_question()函数 Trivia类的show_question()函数的作用是显示题目。主要包括显示题目框架、显示题目内容和显示题目选项等三部分。 3.3.1 显示题目的框架 在show_question()函数中&#xff0c;通过以下代码显示题目的框架。 print_text(font1, 210, 5, &q…

docker-compose 部署nacos 整合 postgresql 为DB

标题docker-compose 部署nacos 整合 postgresql 为DB 前提&#xff1a; 已经安装好postgresql数据库 先创建好一个数据库 nacos&#xff0c;执行以下sql: /** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "…

二进制转换16进制 快速心算

1111 1110 ---> 0xFE 1111 为 8 4 2 1 ---> 8 4 2 1 15 --> 16进制表示为F1110 为 8 4 2 0 ---> 8 4 2 0 14 --> 16进制表示为E