python定時刪除指定索引

腳本

import logging
from datetime import datetime, timedelta
from elasticsearch import Elasticsearch# 配置日志記錄
logging.basicConfig(filename='delete_uat_indices.log',level=logging.INFO,format='%(asctime)s - %(levelname)s - %(message)s'
)# Elasticsearch 集群的連接信息
ELASTICSEARCH_HOST = "http://192.178.18.209:9200"  # 修改為你的 Elasticsearch 地址
USERNAME = "elastic"  # 修改為你的用戶名
PASSWORD = "7F9L%mYWjWtb"  # 修改為你的密碼
INDEX_PATTERN = "*uat*"  # 匹配帶有 "uat" 的索引def delete_old_indices():# 連接到 Elasticsearch 集群es = Elasticsearch([ELASTICSEARCH_HOST], basic_auth=(USERNAME, PASSWORD))# 檢查連接是否成功if not es.ping():logging.error("無法連接到 Elasticsearch 集群")returnlogging.info("成功連接到 Elasticsearch 集群")# 計算 5 天前的日期five_days_ago = datetime.now() - timedelta(days=2)date_str = five_days_ago.strftime('%Y.%m.%d')# 獲取所有索引(確保使用關鍵字參數)try:indices = es.indices.get(index="*uat*")  # 使用關鍵字參數except Exception as e:logging.error(f"獲取索引列表失敗: {e}")return# 過濾出符合條件的索引indices_to_delete = []for index_name in indices.keys():if not index_name.startswith(".") and "uat" in index_name:# 提取索引名稱中的日期部分try:index_date_str = index_name.split("-")[-1]  # 假設日期在索引名稱的最后部分index_date = datetime.strptime(index_date_str, '%Y.%m.%d')if index_date < five_days_ago:indices_to_delete.append(index_name)except Exception as e:logging.warning(f"無法解析索引名稱 {index_name} 的日期部分: {e}")if not indices_to_delete:logging.info(f"未找到符合條件的索引: 包含 'uat' 且日期為 {date_str}")return# 刪除符合條件的索引for index in indices_to_delete:try:es.indices.delete(index=index)logging.info(f"成功刪除索引: {index}")except Exception as e:logging.error(f"刪除索引 {index} 時失敗: {e}")if __name__ == "__main__":delete_old_indices()

定時任務

crontab -e
#每天23點30定時刪除5天前的uat環境日志
30 23 * * * /usr/local/python-3.9/bin/python3.9 /data/delete_old_indices/delete_uat_old_indices.py >/dev/null 2>&1

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906666.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906666.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906666.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GESP編程等級認證C++三級7-字符、字符數組與字符串2

2.3 用字符串定義字符數組的好處 使用字符串定義字符數組需要額外考慮其末尾的“\0”&#xff0c;為什么還要使用這種看上去“麻煩”的方法呢&#xff1f;從圖5所示的代碼就能看出原因。 圖5 用字符串定義字符數組好處的代碼 從圖5中可以看出&#xff0c;a4是用字符串進行初始…

EasyRTC音視頻實時通話WebP2P技術賦能的全場景實時通信解決方案

一、技術背景 在數字化浪潮席卷全球的當下&#xff0c;實時通信技術憑借其即時性、高效性的優勢&#xff0c;已然成為推動各行業創新發展的核心動能。EasyRTC深度融合WebP2P技術&#xff0c;構建起去中心化的通信架構&#xff0c;實現了低延遲、高可靠的數據傳輸&#xff0c;為…

Claude MCP協議從入門到精通

目錄 一、什么是MCP協議? 二、Function Calling 和 MCP 協議的區別? 三、MCP相關網站 3.1 官方文檔 3.2 綜合型 MCP 資源聚合平臺 3.3 垂直領域 MCP Server 工具 3.4 開發者工具與社區 3.5 企業級服務與數據庫集成 3.6 新手友好型平臺 四、MCP 架構 4.1. MCP Hosts…

YOLOv11改進 | Conv/卷積篇 | 2024 ECCV最新大感受野的小波卷積WTConv助力YOLOv11有效漲點

YOLOv11改進 | Conv/卷積篇 | 2024 ECCV最新大感受野的小波卷積WTConv助力YOLOv11有效漲點 引言 在計算機視覺領域&#xff0c;卷積神經網絡&#xff08;CNN&#xff09;的核心操作——卷積運算正經歷著革命性的變革。2024年ECCV會議提出的**小波卷積&#xff08;WTConv, Wav…

英偉達CEO黃仁勛COMPUTEX 2025演講實錄:AI工廠時代已來,Blackwell架構全面投產

5月19日&#xff0c;英偉達創始人兼首席執行官黃仁勛在臺北國際電腦展&#xff08;COMPUTEX 2025&#xff09;發表主題演講&#xff0c;系統闡述了英偉達從芯片設計向AI基礎設施服務商的戰略轉型&#xff0c;并披露了包括Blackwell架構升級、新一代AI計算平臺及機器人技術在內的…

RabbitMQ的核心原理及應用

在分布式系統架構中&#xff0c;消息中間件是實現服務解耦、流量緩沖的關鍵組件。RabbitMQ 作為基于 AMQP 協議的開源消息代理&#xff0c;憑借高可靠性、靈活路由和跨平臺特性&#xff0c;被廣泛應用于企業級開發和微服務架構中。本文將系統梳理 RabbitMQ 的核心知識&#xff…

服務攻防矩陣

4.1 中間件漏洞利用 WebLogic反序列化漏洞&#xff08;CVE-2023-21839&#xff09; 漏洞原理&#xff1a; T3協議反序列化未嚴格校驗&#xff0c;攻擊者可注入惡意序列化對象執行任意代碼。 攻擊流程&#xff1a; 使用ysoserial生成CommonsCollections6 payload&#xff1…

PictureThis 解鎖高級會員版_v5.3.0 拍植物知名稱和植物百科

PictureThis 解鎖高級會員版_v5.3.0 拍植物知名稱和植物百科 PictureThis是一款創新的植物識別與園藝指導應用程序&#xff0c;旨在幫助用戶快速識別植物種類、了解植物信息&#xff0c;并提供專業的園藝養護建議…

大模型 Agent 就是文字藝術嗎?

最近在技術圈里有一個很有趣的爭論&#xff1a;大模型 Agent 是不是就是各種 Prompt 的堆疊&#xff1f;像 Manus 這樣看起來很智能的 Agent&#xff0c;本質上是不是就是用巧妙的 Prompt 約束大模型生成更好的輸出&#xff1f;換句話說&#xff0c;這是不是一門文字藝術&#…

LeetCode 1340. 跳躍游戲 V(困難)

題目描述 給你一個整數數組 arr 和一個整數 d 。每一步你可以從下標 i 跳到&#xff1a; i x &#xff0c;其中 i x < arr.length 且 0 < x < d 。i - x &#xff0c;其中 i - x > 0 且 0 < x < d 。 除此以外&#xff0c;你從下標 i 跳到下標 j 需要滿…

三相電壓的優勢,應用場景,功率測量

三相系統概述 我國三相系統&#xff0c;由頻率相同&#xff0c;幅度類似的三個交流電壓組成&#xff0c;每個電壓相差120度。 三相系統的優勢 啟動電機&#xff1a;三個矢量間隔的電壓&#xff0c;在電機中產生旋轉磁場&#xff0c;不需要額外繞組就可以啟動電機。 減少線損…

[原創](計算機數學)(The Probability Lifesaver)(P14): 推導計算 In(1-u) 約等于 -u

[作者] 常用網名: 豬頭三 出生日期: 1981.XX.XX 企鵝交流: 643439947 個人網站: 80x86匯編小站 編程生涯: 2001年~至今[共24年] 職業生涯: 22年 開發語言: C/C++、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 開發工具: Visual Studio、Delphi、XCode、…

Android12 Rom定制去掉剪貼板復制成功的Toast

Android12Rom定制去掉剪貼板復制成功的Toast提示 1.前言&#xff1a; 最近在rom定制化開發時&#xff0c;測試提了一個bug&#xff0c;在瀏覽器或者文本里面使用剪貼板復制成功后會有一個Toast提示&#xff0c;這種體驗不是很好&#xff0c;因為每次復制成功都有一個提示&…

SOC-ESP32S3部分:9-GPIO輸入按鍵狀態讀取

飛書文檔https://x509p6c8to.feishu.cn/wiki/L6IGwHKV6ikQ08kqwAwcAvhznBc 前面我們學習了GPIO的輸出&#xff0c;GPIO輸入部分其實也是一樣的&#xff0c;這里我們使用按鍵作為GPIO輸入例程講解&#xff0c;分三步走。 查看板卡原理圖&#xff0c;確定使用的是哪個GPIO查看G…

高可用集群keepalived

1.不同操作系統的安裝 1.1 不同系統編譯安裝 ubuntu環境 apt-get - y install libssl-dev libpopt-dev daemon build-essential libssl-dev openssl libpopt-dev libsnmp-dev libnl-3-dev libnl-genl-3-dev centos環境 &#xff08;其他的下同&#xff09; yum install - y…

SpringCloud - 整合MQ實現消息總線服務

一、背景介紹 每當修改配置文件內容&#xff0c;如果需要客戶端也同步更新&#xff0c;就需要手動調用/refresh接口&#xff0c;以便客戶端能獲取到最新的配置內容。 當客戶端越來越多的時候&#xff0c;通過人工進行處理顯然非常雞肋。有沒有一種更加高效的辦法&#xff0c;…

測試W5500的第3步_使用ioLibrary庫創建TCPServer

W5500是一款具有8個Socket的網絡芯片&#xff0c;支持TCP Server模式&#xff0c;最多可同時連接8個客戶端。本文介紹了基于STM32F10x和W5500的TCP Server實現&#xff0c;包括SPI初始化、W5500復位、網絡參數配置、Socket狀態管理等功能&#xff0c;適用于需要多客戶端連接的嵌…

Web攻防-SQL注入數據庫類型用戶權限架構分層符號干擾利用過程發現思路

知識點&#xff1a; 1、Web攻防-SQL注入-產生原理&應用因素 2、Web攻防-SQL注入-各類數據庫類型利用 演示案例-WEB攻防-SQL注入-數據庫類型&架構分層&符號干擾 一、數據庫知識 1、數據庫名&#xff0c;表名&#xff0c;列名&#xff0c;數據 2、自帶數據庫&…

手機合集(不定期更新)

一、華為手機&#xff1a; 1.華為手機自助維修的方法&#xff1a; https://blog.csdn.net/humors221/article/details/145946128 2.華為手機實用功能介紹&#xff1a; https://blog.csdn.net/humors221/article/details/132514011 3.華為手機清理大數據的方法&#xff1a;…

移動安全Android——ROOT檢測繞過

工具準備 Magisk GitHub - topjohnwu/Magisk: The Magic Mask for Android ZygisckNext GitHub - Dr-TSNG/ZygiskNext at v1.2.8 Shamiko Releases LSPosed/LSPosed.github.io 安卓ROOT教程 Magisk 安裝教程 - Magisk 中文網 問題 大多數手機在ROOT狀態下會出現APP閃…