ansible playbook 实战案例roles | 实现基于nfs的日志归档

文章目录

  • 一、核心功能描述
  • 二、roles内容
    • 2.1 文件结构
    • 2.2 tasks文件内容
    • 2.3 files文件内容

免费个人运维知识库,欢迎您的订阅:literator_ray.flowus.cn

一、核心功能描述

这个 Ansible Role 的核心功能是:​实现自动化日志归档系统,通过 NFS 挂载远程存储,配置定时任务自动压缩归档历史日志

  1. 定时任务配置​ (crontab.yml)

    • 每月19日凌晨2点自动执行归档任务

    • 作业命令:/home/archivelog.sh

    • 定时任务名:archivelog(便于后续管理)

  2. 归档脚本部署​ (copy_sh.yml)

    • 将脚本 archivelog.sh 部署到 /home/ 目录

    • 设置可执行权限(755)

  3. 存储架构配置

    • 本地准备​ (directory.yml):

      • 创建挂载点目录:/data/archive
    • 依赖安装​ (yum.yml):

      • 安装 NFS 客户端工具:nfs-utils
    • 远程挂载​ (mount.yml):

      • 挂载 NFS 共享:192.141.106.6:/data/{{ ansible_facts.hostname }}

      • 使用动态主机名作为挂载路径

可以根据自己的实际需求修改脚本

二、roles内容

2.1 文件结构

archive-log/
|-- files
|   `-- archivelog.sh
`-- tasks|-- copy_sh.yml|-- crontab.yml|-- directory.yml|-- main.yml|-- mount.yml`-- yum.yml2 directories, 7 files

2.2 tasks文件内容

  • main.yml
- include: crontab.yml
- include: copy_sh.yml
- include: directory.yml
- include: yum.yml
- include: mount.yml
  • include: crontab.yml
- name: create crontabcron: minute=0 hour=2 day=19 job='/home/archivelog.sh' name=archivelog disabled=no
  • include: copy_sh.yml
- name: copy archivelog.shcopy: src=archivelog.sh dest=/home/ mode=755
  • include: directory.yml
- name: mkdir directoryfile: path=/data/archive state=directory
  • include: yum.yml
- name: yum nfsyum: name=nfs-utils state=present
  • include: mount.yml
- name: mount archivemount: src=192.141.106.6:/data/{{ ansible_facts.hostname }} path=/data/archive fstype=nfs state=mounted

2.3 files文件内容

archivelog.sh

#!/bin/sh
webservername=`hostname`
lastmonth=`date -d "last month" "+%Y%m"`
cd /opt/IBM/HTTPServer/logs
mkdir $lastmonth
mv access_log.$lastmonth* $lastmonth
tar -zcvf /data/archive/$webservername-$lastmonth.tgz $lastmonth
rm -rf $lastmonth

如果你不请什么是ansible中的角色,动动你的小手,跳转过去看看呗“roles角色”

请不要以此视为定论,这只是我的个人经验

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

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

相关文章

RabbitMQ:技巧汇总

目录一、基础知识1.1、RabbitMQ:Windows版本安装部署1.2、RabbitMQ:Linux版本安装部署1.3、RabbitMQ:数据隔离1.4、RabbitMQ:交换机(Exchange)1.5、RabbitMQ:SpringAMQP入门案例1.6、RabbitMQ&a…

【ARM vs RISC-V:芯片架构双雄争霸,谁将主宰AI时代?】

2010年,加州大学伯克利分校的实验室诞生了一个颠覆性的构想——RISC-V开源指令集。谁曾想,这个学术项目会在15年后让芯片巨头ARM如临大敌?2025年7月,ARM悄悄上线riscv-basics.com质疑网站又紧急撤下的戏剧性事件,揭开了…

深入理解纹理与QtOpenGL的实现

引言 在现代计算机图形学中,纹理(Texture)是增强三维模型视觉效果的重要工具。通过将二维图像映射到三维模型表面,纹理可以为简单的几何形状添加复杂的细节和真实感。OpenGL作为广泛使用的图形库,提供了强大的纹理处理…

CrystalDiskInfo中文版(硬盘检测工具) 中文版

获取地址:硬盘检测工具 Process Lasso是一款独特的调试进程级别的系统优化工具,主要功能是基于其特别的算法动态调整各个进程的优先级并设为合理的优先级以实现为系统减负的目的,可有效避免蓝屏、假死、进程停止响应、进程占用 CPU 时间过多…

K8S集群-基于Ingress资源实现域名访问

目录 一、准备 1、在master节点部署ingress的资源清单文件 2、在node节点部署ingress-1.11.tar镜像(根据部署环境选择版本) 二、基于NodePort模式验证 1、在master节点进入ingress的资源清单文件 2、修改deploy.yaml文件 3、生成deploy.yaml资源 4…

iOS 数据持久化

📱 iOS数据持久化 ✨ 核心概念 数据持久化是指将内存中的数据以特定格式保存到持久存储介质(如硬盘)的过程,使得应用重启后数据依然可用。在iOS中,由于沙盒机制的限制,应用只能访问自己沙盒内的文件。 沙盒…

数据结构 -- 树

一、树的基本概念(一)定义树是由 n(n ≥ 0) 个结点组成的有限集合,是一种非线性层次结构:当 n 0 时,称为空树;当 n > 0 时,存在唯一的根结点(无前驱结点&…

单片机---------WIFI模块

1.ESP-12F模组基础知识ESP12-F模组(安信可(Ai-Thinker)ESP8266系列模组)是一款基于乐鑫(Espressif)公司ESP8266芯片的Wi-Fi无线通信模块,广泛应用于物联网(IoT)领域。它体…

迅为RK3562开发板Android修改uboot logo

本文档配套资料在网盘资料“iTOP-3562 开发板\02_【iTOP-RK3562 开发板】开发资料\07_Android 系统开发配套资料\05_Android 修改 uboot logo 配套资料”路径下。1 准备 logo系统默认 uboot logo,如下图所示:我们如果想要替换这个 logo,首先要制作一个新…

反催收APP开发思路:用Flutter打造证据链管理工具

针对非法催收问题,熊哥分享了一款反催收APP的开发思路,旨在帮助“诚而不幸”的负债人收集骚扰证据,通过Flutter实现跨平台部署。本文整理其核心功能与技术方案,助力开发者快速上手!一、核心功能:证据收集与…

市政道路井盖缺失识别误报率↓82%!陌讯多模态融合算法实战优化与边缘部署

原创声明本文为原创技术解析文章,核心技术参数、架构设计及实战数据引用自 “陌讯技术白皮书”,文中算法实现与优化方案均基于实测验证,禁止未经授权转载或篡改内容。一、行业痛点:市政井盖识别的 “三大拦路虎”市政道路井盖作为…

navicat及SQLyog的下载和安装

navicat安装和使用navicat下载和安装navicat 下载navicat 的安装SQLyog下载和安装SQLyog 的下载SQLyog 的安装连接到MySQL数据库navicat下载和安装 navicat 下载 navicat下载地址 这两个都是满足我们需求的,均可 这样我们就得到了一个双击可执行的exe文件 navic…

在TencentOS3上部署OpenTenBase:从入门到实战的完整指南

文章目录前言初识OpenTenBase:不只是又一个分布式数据库OpenTenBase的核心特性环境准备系统环境检查安装必要的依赖包用户环境配置:安全第一创建专用用户配置SSH免密登录(单机部署也需要)源码编译:从零开始构建获取源码…

flink常见问题之超出文件描述符限制

引言Apache Flink 是一个强大且流行的流处理框架,它支持高吞吐量和低延迟的数据处理。在处理大规模数据流时,Flink 用户可能会遇到各种性能瓶颈,其中之一就是文件描述符的限制。文件描述符是操作系统用来表示打开文件或其他输入/输出资源的一…

雅菲奥朗SRE知识墙分享(一):『SRE对智能运维领域所产生的深远影响』

一、SRE推动了运维与开发的融合1、增强协作:SRE模式鼓励运维与开发团队之间的紧密合作,共享知识、资源和责任,共同解决系统稳定性和性能问题。2、共同目标:通过共同设定系统可靠性和性能目标,运维和开发团队能够协同工…

【JVM内存结构系列】一、入门:先搞懂整体框架,再学细节——避免从一开始就混淆概念

在Java开发中,你是否遇到过这些困惑:明明代码没写错,却突然抛出OutOfMemoryError?调优GC参数时,不知道-Xms和-XX:MetaspaceSize分别影响哪块内存?面试时被问“JVM内存结构和Java内存模型有啥区别”,只能含糊其辞? 其实,这些问题的根源都指向同一个核心——没搞懂JVM的…

《Dual Prompt Personalized Federated Learning in Foundation Models》——论文阅读

面向大规模预训练模型(ViT、BERT)的千万级设备场景,用“双提示(Dual Prompt)”机制实现高效、可扩展的个性化联邦学习(PFL)1.研究背景传统联邦学习在客户端数据异构(非独立同分布&am…

深度剖析Lua Table的运作方式

前言&#xff1a;本篇基于Lua-5.3.6源码并配合《Lua 解释器构建&#xff1a;从虚拟机到编译器》一书进行Table的运作解读。一、Table数据结构typedef struct Table {CommonHeader;lu_byte flags; /* 1<<p means tagmethod(p) is not present */lu_byte lsizenode; /* l…

PETR/PETRv2

PE: position embedding 一、PETR算法动机回归 1.1 DETR 输入组成&#xff1a;包含2D位置编码和Object Query 核心流程&#xff1a;通过Object Query直接索引2D特征图&#xff0c;结合位置编码迭代更新Query 特点&#xff1a;整体流程简洁&#xff0c;每个Query代表一个潜在目标…

计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二、…