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
英文地址,請注明出處:http://en.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; 文章目錄 一、項目介紹二、…