运维日记|使用ansible批量部署crontab定时删归档任务
mhr18 2024-10-09 12:10 22 浏览 0 评论
在某个下午,测试同事突然找过来说,之前测试服务器搭的几套oracle数据库忘记部署删除归档脚本了,要让小编都给部署一下。
?
数了数,有接近十套呢,一部部登陆上去,部署一个删归档脚本,然后再到crontab里面去,设置定时任务。简单是简单,但是在于假如需部署的机器有100套,那这种重复性劳动可就太花时间了。
正好,还真有这么一个自动化运维工具ansible
什么是ansible呢?
Ansible是一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台,它是基于python语言,由Paramiko和PyYAML两个关键模块构建。
集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力。
1.安装ansible
在一般的情况下,我们只需在 控制服务器安装 Ansible 即可。被控端需要安装与主控端同版本python2 (version 2.6 or later) 或者 Python 3 (version 3.5 or later),及ssh依赖包。我们这里使用yum来安装一下ansible:
2.编辑ansible的主机清单文件
这里的192.168.238.5[1:7]写法是一个可以偷懒的地方,万一有一组ip后缀是1到100,要真的写满100行,不仅不够优雅也显得麻烦不是。
下图为控制主机与被控主机简单示意图:
3.建立与被控制主机的互信关系
这样就可以实现免密码登录了。
4.使用ansible的ad-hoc命令行模式推送删归档脚本
我们这里直接将删归档内容作为文本写到目标环境下,并且使用{{sid}}的写法调用主机清单文件中的sid变量参数,再设置脚本的权限及用户:
执行完命令后,我们可以查看到目标环境的/tmp/del_arch.sh脚本内容如下:
5.使用ansible的cron模块来增加crontab定时任务
我们这里写法如下,设置在每天0点03分执行删归档脚本:
我们可以观察到目标库crontab:
6.我们可以使用ansible的剧本(playbook)来更优雅的执行任务
我们来执行这个yaml剧本,结果如下:
小结:
只要跑这么一个yaml文件,所有的主机就能按照剧本一步一步的往下执行,最终简单高效的实现我们的目标。
运维工作有太多的简单却又高度重复的工作。这些工作看似容易,但是一个人不停重复地做下去不仅让人耗时耗力还容易出错。适时恰当地使用一些自动化工具此时就能够明显地解放人力加快工作效率了。
相关推荐
- 大数据开发工程师面试主要面试内容
-
大数据近年来,发展如火如荼,很多人都选择学习大数据专业或者转行大数据,大数据里又包含很多就业岗位,那么,我们在面试大数据开发工程师时,需要面试哪些内容呢。一起来看看!首先,不同岗位、不同公司、不同面试...
- java程序员面试时经常被问到的10个问题
-
java程序员,尤其是做web开发的,面试时,面试官最喜欢问到以下10个问题,掌握面试的动态和技巧,有利于提高我们面试的成功率,了解以下10个问题,有利于java程序员的面试。1、简单描述一下Log4...
- 深入剖析 SQL 调优:导致性能瓶颈的语法问题、优化策略及面试题
-
在企业级应用开发中,数据库作为数据存储与检索的核心组件,其性能直接影响系统的响应速度与稳定性。而SQL语句作为与数据库交互的语言,编写的优劣往往决定了查询效率的高低。本文将聚焦于导致SQL性能...
- MySQL面试题整理:从基础到高级的全面覆盖
-
基础问题什么是MySQL?它与其他数据库管理系统有何不同?MySQL是一个开源关系数据库管理系统(RDBMS),它使用结构化查询语言(SQL)来管理和操作数据。与其他数据库管理系统(如Oracle、M...
- JDK从8升级到21的问题集(jdk8版本)
-
一、背景与挑战1.升级动因oOracle长期支持策略o现代特性需求:协程、模式匹配、ZGC等o安全性与性能的需求oAI新技术引入的版本要求2.项目情况o100+项目并行升级的协同作战o多技术栈并存o持...
- 科莱特SAP ABAP干货 | 基础篇:二、数据字典(1)
-
ABAP开发基础及应用二、数据字典(1)目标及说明目标:1、掌握SAP数据字典各种对象的定义和使用2、能根据业务数据要求,建立存储数据用的表和视图需求说明:1、在SAP中自建程序,以对一企业(自由行集...
- Mycat入门(mycatalog)
-
一、Linux系统下搭建Mycat注:如果没有服务器可以选择虚拟机进行操作1、首先准备好服务器或者虚拟机2、安装和配置MySQL数据库2.1、删除原来的数据库//查询已安装的mariadb[root...
- MySQL从入门到实战:表设计、索引优化与高频面试解析
-
一、业务场景驱动表设计:电商订单系统案例场景背景某电商平台需设计用户、商品、订单模块,要求支持以下操作:用户高频查询最新订单按商品分类+价格区间筛选商品统计每日订单金额建表实战--用户表(反范式设计...
- oracle生成AWR报告的两种方法(oracle中awr报告的输出格式有哪些)
-
方法1:sqlplus中执行:execdbms_workload_repository.create_snapshot();@?/rdbms/admin/awrrpt.sql方法2:setpage...
- Navicat Premium:数据库管理神器(navicat 本地数据库)
-
提供免费下载网站Mavom.cn在数据库管理的世界里,「NavicatPremium」是一款「一体化的数据库管理和迁移工具」,适用于MySQL、SQLServer、Oracle和PostgreSQ...
- Iperius Backup功能特色(backup如何使用)
-
备份作业:1.文件夹备份:本地的文件夹,带SMB的路径文件夹,网络路径文件夹,NAS文件夹等等2.文件备份:对某个文件进行备份3.备份镜像:可以把系统刻录成镜像用于恢复(图1)4.FTP:自带FTP...
- sql注入攻击,拿到网站账户,黑客这样神操作
-
首先的话,我们来仔细搞清楚这个攻击的流程,第一步就是了解一下,什么是sql?又什么是sql注入、sql注入的流程和步骤。1、首先什么是sql,Sql是一种数据库查询和程序设计的语言,这里的数据库是指存...
- Java 8 新特性指南(java的八大特性)
-
本教程可以在实验楼(shiyanlou.com)中在线练习。一、实验简介Java8是近年来最后起来的一个Java编程语言发行版本。Oracle在2014年3月发布了它。该版本为Java带来...
- Java系统开发从入门到精通第三讲(文字版)
-
下来我们进入数据持久化的部分,对于一个真实的业务系统,能够正常的运转离不开数据的持久化。在数据持久化这块,目前主流的还是关系型数据库(RDBMS),NoSQL(NewSQL)也有了长足发展,特别在大数...
- 扣细节:while (true) 和 for (;;) 哪个更快
-
来源:zhihu.com/question/52311366/answer/130090347在JDK8u的jdk项目下做个很粗略的搜索:mymbp:/Users/me/workspace/jdk8u...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle 空为0 (51)
- oracle主从同步 (55)
- oracle 乐观锁 (51)
- redis 命令 (78)
- php redis (88)
- redis 存储 (66)
- redis 锁 (69)
- 启动 redis (66)
- redis 时间 (56)
- redis 删除 (67)
- redis内存 (57)
- redis并发 (52)
- redis 主从 (69)
- redis 订阅 (51)
- redis 登录 (54)
- redis 面试 (58)
- 阿里 redis (59)
- redis 搭建 (53)
- redis的缓存 (55)
- lua redis (58)
- redis 连接池 (61)
- redis 限流 (51)