当前位置: 首页 > ai >正文

elasticdump备份恢复

文章目录

  • elasticdump 备份恢复
    • 1.备份索引数据
    • 2.恢复索引数据
    • 3.删除索引数据,多个数据用逗号分开
    • 4.循环备份脚本(按照索引,循环备份1个月或多个月)

elasticdump 备份恢复

1.备份索引数据

示例:elasticdump --input=http://用户名:密码@192.158.134.7:9200/sg-access-2023.02.01 --output=/data/logbackup/Elasticsearch/2023-02/sg-access-2023.02.01.json --limit=10000 --type=data

2.恢复索引数据

示例:elasticdump --input="/data/logbackup/Elasticsearch/2023-02/sg-access-2023.02.01.json" --output="http://用户名:密码@192.158.134.7:9200/sg-access-2023.02.01" --limit=10000 --type=data

3.删除索引数据,多个数据用逗号分开

delete sg-access-2024.06.18,sg-access-2024.06.19

4.循环备份脚本(按照索引,循环备份1个月或多个月)


!!!根据自己的实际运行环境修改以下脚本的变量参数!!!
!!!根据自己的实际运行环境修改以下脚本的变量参数!!!
!!!根据自己的实际运行环境修改以下脚本的变量参数!!!


#!/bin/bash# 设置elasticdump的路径(确保elasticdump已安装并配置在PATH中,或者提供完整路径)
ELASTICDUMP="/usr/local/node-v12.22.12-linux-x64/bin/elasticdump"# 设置Elasticsearch的URL
ELASTICSEARCH_URL="http://用户名:密码@192.158.134.7:9200"# 设置输出目录
OUTPUT_ROOT_DIR="/logbackup/Elasticsearch/2023-02"
mkdir -p $OUTPUT_ROOT_DIR# 日期范围
START_DATE="2023.02.01"
END_DATE="2023.02.28"# 将起始日期和结束日期转换为Unix时间戳(由于date命令通常不接受.作为分隔符,我们需要先转换为YYYY-MM-DD)
start_date_formatted=$(echo "$START_DATE" | sed 's/\./-/g')
end_date_formatted=$(echo "$END_DATE" | sed 's/\./-/g')
start_date_seconds=$(date -d "$start_date_formatted" +%s)
end_date_seconds=$(date -d "$end_date_formatted" +%s)# 当前日期秒数(用于循环,初始化为起始日期的秒数)
current_date_seconds=$start_date_seconds# 日志类型数组
LOG_TYPES=("sg-access" "sg-operation" "sg-login" "sg-rio-manage" "sg-rio-login")while [ $current_date_seconds -le $end_date_seconds ]; do# 将当前日期秒数转换回人类可读的日期格式(YYYY-MM-DD),然后再转换为所需的格式(YYYY.MM.DD)current_date_formatted=$(date -d "@$current_date_seconds" "+%Y-%m-%d")current_date=$(echo "$current_date_formatted" | sed 's/-/\./g')# 循环遍历日志索引前缀for prefix in "${LOG_TYPES[@]}"; do# 构造完整的索引名称INDEX="${prefix}-${current_date}"OUTPUT_FILE="${OUTPUT_ROOT_DIR}/${INDEX}.json"echo "Exporting index $INDEX to $OUTPUT_FILE..."$ELASTICDUMP --input=$ELASTICSEARCH_URL/$INDEX --output=$OUTPUT_FILE --limit=10000 --type=dataif [ $? -eq 0 ]; thenecho "Exported $INDEX successfully."elseecho "Failed to export $INDEX."fidone# 增加一天(86400秒)current_date_seconds=$((current_date_seconds + 86400))
doneecho "$START_DATE - $END_DATE all export successfully."

如果你有不明白的地方,或者更好的解决方法,欢迎提问

http://www.xdnf.cn/news/6113.html

相关文章:

  • vue3实现JSON格式化和JSONPath提取功能
  • 10、面向对象技术★★★★★30‘
  • 移动端巡检点检,让设备管理更便捷高效
  • 当数控编程“联姻”AI:制造工厂的“智能大脑”如何炼成?
  • .NET NativeAOT 指南
  • CGO中引入 <cstddef> <vector> fatal error: cstddef: No such file or directory 失败的原因
  • Llama:开源的急先锋
  • 基于springboot+vue的医院门诊管理系统
  • 南审计院考研分享会 经验总结
  • Android多媒体——媒体start流程分析(十三)
  • PinkWallet如何打通数字资产与传统金融的最后一公里
  • Vue百日学习计划Day1-3天详细计划-Gemini版
  • 计算机组成与体系结构:缓存设计概述(Cache Design Overview)
  • spring中的@MapperScan注解详解
  • 【RabbitMq】无法打开 RabbitMq 管理插件的问题
  • Python基础入门
  • 文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
  • 机器学习入门案例:鸢尾花分类与AI辅助
  • 机器人示教操作
  • 微型PCB打样厂家选型指南
  • 全局优化搜索高次方程的解
  • C++学习之打车软件git版本控制
  • RabbitMQ 快速上手:安装配置与 HelloWorld 实践(二)
  • 【SSL证书系列】客户端如何验证https网站服务器发的证书是否由受信任的根证书签发机构签发
  • 【原创】使用阿里云存放一个临时共享的文件
  • FunASR:语音识别与合成一体化,企业级开发实战详解
  • 论MCU如何在Fatfs中使用Flash接口的方法
  • 前端面试每日三题 - Day 34
  • 白盒测试——基本路径测试法
  • copy_paste