网站架构知识之Ansible模块(day021)

1.Ansible模块

作用:通过ansible模块实现批量管理

2.command模块与shell模块

command模块是ansible默认的模块,适用于执行简单的命令,不支持特殊符号

案列01,批量获取主机名

ansible all -m command -a 'hostname'

all表示对主机清单所有组进行操作,-m  command表示使用command模块(默认是此模块),-a指定模块中的选项。

shell模块相比command可以识别特殊符号

案列02,删除/tmp目录下的所有文件

ansible all -m shell -a 'rm -rf   /tmp/*'

3.script模块

执行流程:分发脚本,在被管理端执行脚本

案例03,被管理端执行指定目录下的脚本

ansible all -m script -a '/server/scripts/ansible-scripts.sh'

4.file模块

管理文件,目录,软链接

相关选项

path        路径(目录,文件)(必须要写)

state        state=directory        创建目录

                state=file                 默认,更新文件,文件不存在也不创建

                state=link                创建软连接

                state=touch             创建文件

                state=absent           删除

mode       mode=755              创建并修改权限

owner       owner=root

group        group=root

案例03:所有被管理端的/tmp目录下创建day021.txt

ansible all -m file -a 'path=/tmp/day021.txt state=touch'

案例04:将/tmp目录下的day021.txt新建软连接到tmpls目录中

ansible all -m file -a 'src=/tmp/day021.txt path=/tmpls/day021.txt state=link'                     

5.copy模块

相关选项

src          管理端源文件

dest        被管理端目录/文件

backup    backup=yes,会在覆盖前备份

mode       修改权限

owner        修改为指定所有者

group        修改为指定用户组

案例05:将管理端hosts文件发送给被管理端/tmp/day021/的目录下

ansible all -m copy -a 'src=/etc/hosts dest=/tmp/day021/'

5.systemd模块

name         用于指定服务名称

enabled     yes开机自启动

state           started        开启

                   stopped      关闭

                   reloaded      重载

                   restarted      重启

daemon-reload        yes是否重新加载对应服务的管理配置文件

6.yum模块

包含了yum和apt

name                 指定软件包名字

state                  installed安装

                          removed删除

                          lastest安装或更新

update_cache   更新本地yum缓存

7.get_url模块

url                       指定要下载的地址

dest                    下载到哪一个目录

后续可以调用yum模块安装本地的软件 name=/app/tools/xxxxx.rpm即可

8.user模块

name                      用户名

uid                          指定uid

group                     指定用户组

shell                       指定解释器

crete_home          (yes/no)是否创建用户家目录

state                       present(添加)absent(删除)

password                加密的密码

更新密码

ansible all  -m user -a "name=用户名 password={{ '新密码' | password_hash('sha512', '加密字符串') }} state=present"

9.mount模块

实现mount命令进行挂载,同时修改/etc/fstab进行永久挂载

fstype        指定文件系统

src             源地址(挂载nfs,eg  172.16.1.31:/data)

path           挂载点

state         mounted,挂载并修改fstab        

                 absent,卸载并修改fstab

                 unmounted,卸载但不修改fstab

                 present,仅修改fstab,不挂载

10.cron模块

-name        定时任务名字,对应注释内容

minute        分钟  minute="*/2"

hour            默认*

day

month

week

job              脚本位置

state           present(添加),absent(删除)

将时间同步写到定时任务,每五分钟同步一次

ansible all -m cron -a 'name=sync_time minute="*/5" job="/usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null" state=present'

结果

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

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

相关文章

Browserslist 配置

Browserslist 是一个工具和规范,用于定义和共享支持的浏览器列表,以便在前端开发中管理不同工具的兼容性。这些工具可以包括 Babel、Autoprefixer、ESLint 等,它们都可以使用 Browserslist 提供的配置来确定应支持哪些浏览器及其版本。 主要…

短期电力负荷

🏡作者主页:点击! 🤖编程探索专栏:点击! ⏰️创作时间:2024年11月8日9点40分 论文发表 来自《IEEE Transactions on Smart Grid》2022年7月的13卷第4期,《IEEE Transactions on …

十四:java web(6)-- Spring Spring MVC

目录 Spring MVC 1.1 Spring MVC 概述 1.1.1 什么是 MVC 模式 1.1.2 Spring MVC 工作原理 1.2 Spring MVC 核心组件 1.2.1 DispatcherServlet 1.2.2 控制器(Controller) 1.2.3 请求映射(RequestMapping) 1.2.4 视图解析器…

redis与本地缓存

本地缓存是将数据存储在应用程序所在的本地内存中的缓存方式。既然,已经有了 Redis 可以实现分布式缓存了,为什么还需要本地缓存呢?接下来,我们一起来看。 为什么需要本地缓存? 尽管已经有 Redis 缓存了,但…

linux tigerVNC使用

简介 TigerVNC是VNC的一种高性能、平台中立实现(虚拟网络计算),一种客户端/服务器应用程序,允许用户启动远程图形应用程序并与之交互机器。TigerVNC提供运行所需的性能级别3D和视频应用程序,并尝试保持普通外观并尽可…

基于redis实现API接口访问次数限制

一,概述 日常开发中会有一个常见的需求,需要限制接口在单位时间内的访问次数,比如说某个免费的接口限制单个IP一分钟内只能访问5次。该怎么实现呢,通常大家都会想到用redis,确实通过redis可以实现这个功能&#xff0c…

uni-app小程序开发(1)

下载软件就不多赘述了。 直接上代码,写过wep端的vue看这个小程序就简单很多,不需要搞那么多麻烦事情,直接编译器就创建好了基础模版。 1、项目结构 暂时知道这么多,后续再补充 2、页面创建、导航栏设置、基础属性设置 在pages中…

【C++】哈希表封装 unordered_map 和 unordered_set 的实现过程

C语法相关知识点可以通过点击以下链接进行学习一起加油!命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类C/C内存管理模板初阶String使用String模拟实现Vector使用及其模拟实现List使用及其模拟实现容器适配器Stack与QueuePriori…

优化策略:揭秘钢条切割与饼干分发的算法艺术

引言 在生活中,钢条和饼干看似风马牛不相及,但它们的分割与分发却隐藏着惊人的数学魅力。如何最大化利润?如何用有限的资源最大程度满足需求?这便是算法世界中的艺术。今天,我们来揭秘钢条切割与饼干分发的算法设计。本…

SQL,力扣题目1709,访问日期之间最大的空档期

一、力扣链接 LeetCode_1709 二、题目描述 表: UserVisits ------------------- | Column Name | Type | ------------------- | user_id | int | | visit_date | date | ------------------- 该表没有主键,它可能有重复的行 该表包含用户访问…

第七篇: BigQuery中的复杂SQL查询

BigQuery中的复杂SQL查询 背景与目标 在数据分析中,我们通常需要从多个数据源中获取信息,以便进行深入的分析。这时,BigQuery提供的JOIN、UNION和子查询等复杂SQL语句非常实用。本文将以Google BigQuery的公共数据集为例,介绍如何…

【C++】条件变量condition_variable

文章目录 1. 条件变量定义及特点2. 代码示例3. wait方法4. wait_for方法5. notify_all和notify_one6. 思考 1. 条件变量定义及特点 条件变量 用于在线程之间协调共享资源的访问。它允许一个线程等待特定条件的满足(如某个值的变化),而另一个线程在条件满足时通知(或…

C++ 线程初始化编译报错

这是一个很简单的开启一个线程, 用于演示一个线程和生命周期之间的错误,但是还没有把这个错误暴露出来, 就遇见了一个编译问题. 线程中执行指定逻辑的代码 线程的执行方法, 声明写在了ThreadRun.h 实现写在 ThreadRun.cpp中. class ThreadRun { public: void func(); };void T…

SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记

这是一篇港科大学生在google research 实习期间发在ECCV2024的语义引导生成式修复的文章,港科大陈启峰也挂了名字。从首页图看效果确实很惊艳,尤其是第三行能用文本调控修复结果牌上的字。不过看起来更倾向于生成,对原图内容并不是很复原&…

Backend - Python 爬取网页数据并保存在Excel文件中

目录 一、导入依赖 二、前端爬取页面数据 1. html 中 2. js 中 三、后端获取数据,并存储到 Excel 文件中 1. 后端接收数据 2. 后端存储数据 (1)系统代码固定存储位置 (2)用户可选择文件对话框的存储位置 一、…

Dubbo负载均衡

负载均衡策略与配置细节 Dubbo 内置了 client-based 负载均衡机制,如下是当前支持的负载均衡算法,结合上文提到的自动服务发现机制,消费端会自动使用 Weighted Random LoadBalance 加权随机负载均衡策略 选址调用。 如果要调整负载均衡算法…

软件工程中的创建型设计模式:工厂方法模式与抽象工厂模式

目录 1. 工厂方法模式(Factory Method Pattern) 1.1 核心概念 1.2 应用场景 1.3 优点 2. 抽象工厂模式(Abstract Factory Pattern) 2.1 核心概念 2.2 应用场景 2.3 优点 3. 联系与区别 4. 拓展知识 5. 结语 在软件工程…

FFmpeg 4.3 音视频-多路H265监控录放C++开发十二:在屏幕上显示多路视频播放,可以有不同的分辨率,格式和帧率。

上图是在安防领域的要求,一般都是一个屏幕上有显示多个摄像头捕捉到的画面,这一节,我们是从文件中读取多个文件,显示在屏幕上。 一 改动UI文件 这里我们要添加两个label,为了区分我们设置一下背景色(这个是…

java中线程与集合的面试题

在 Java 面试中,线程和集合相关的知识是非常常见的考察点。以下是几个典型的问题及答案: 线程相关面试题 什么是线程? 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程可以有多…

前言2、VS(Visual Studio)-2022使用

早前用VS-2010编译平台,进行C语言编程学习。 现如今,为了适应未来发展趋势以及日新月异的新功能,就此转到VS-2022编译平台; 由于都是VS编译平台,大多数基础功能都类似,关于一些基础操作可参考前言1&#…