ES备份脚本

1.

cat /opt/es_dumpfile/es_all.sh

#!/bin/bash

echo "删除16天前文件"

sh /opt/es_dumpfile/es_delefile.sh

echo "备份es数据"

sh /opt/es_dumpfile/es_dumpfile.sh

echo "异地备份数据"

sh /opt/es_dumpfile/es_scp.sh

echo "执行结束!!"

复制代码
[es@VM-30-164-centos ~]$ cat  /opt/es_dumpfile/es_delefile.sh
#!/bin/bash
# 备份目录
BACKUP_DIR="/opt/es_dumpfile"
DATE=$(date +%Y%m%d%H%M%S)
#DATA_DIR=$(date +%Y%m%d)
DEL_DATA_DIR=$(date -d "16 days ago" +%Y%m%d)
# 创建备份目录(如果不存在)
#mkdir -p ${BACKUP_DIR}/${DATA_DIR}
# 删除超过保留天数的超过16天的备份文件
rm -rf /opt/es_dumpfile/${DEL_DATA_DIR}
echo "[$(date +'%Y-%m-%d %H:%M:%S')] Old backups deleted"

[es@VM-30-164-centos ~]$ cat /opt/es_dumpfile/es_dumpfile.sh
#!/bin/bash
#删除问题仓库
echo "删除问题仓库!"
# Elasticsearch服务器地址
ES_HOST="172.16.30.164:19200"
# 仓库名称
REPO_NAME="my_backup_repo"
# 检查仓库是否存在
#response=$(curl -s -o /dev/null -w "%{http_code}" "http://${ES_HOST}/_snapshot/${REPO_NAME}")
#if [ "$response" -eq 200 ]; then
#  echo "仓库 ${REPO_NAME} 存在,正在删除..."
#  delete_response=$(curl -s -o /dev/null -w "%{http_code}" -X DELETE -u elastic:Bigelastic.2018v6"http://${ES_HOST}/_snapshot/${REPO_NAME}")
  
#  if [ "$delete_response" -eq 200 ]; then
#    echo "仓库 ${REPO_NAME} 删除成功"
#  else
#    echo "仓库 ${REPO_NAME} 删除失败,HTTP状态码: ${delete_response}"
#  fi
#else
#  echo "仓库 ${REPO_NAME} 不存在,无需删除"
#fi
curl -X DELETE -u elastic:IyF4KMjr.O8Y6t "http://172.16.30.164:19200/_snapshot/my_backup_repo"

echo "重新添加仓库!"
curl -X PUT -u elastic:IyF4KMjr.O8Y6t "http://172.16.30.164:19200/_snapshot/my_backup_repo" -H "Content-Type: application/json" -d'
{
  "type": "fs",
  "settings": {
    "location": "/opt/backup_elastic",
    "compress": false,
    "max_snapshot_bytes_per_sec": "50mb",
    "max_restore_bytes_per_sec": "50mb"
  }
}'
echo "仓库添加成功!"

echo "开始备份数据!"
#创建备份文件夹
mkdir -p /opt/es_dumpfile/$(date +%Y%m%d)
# 1. 检查是否有正在运行的快照
SNAPSHOT_STATUS=$(curl -s -X GET "http://172.16.30.164:19200/_snapshot/my_backup_repo/_status" \
  -u "elastic:IyF4KMjr.O8Y6t" | grep "IN_PROGRESS")

if [ -n "$SNAPSHOT_STATUS" ]; then
  echo "错误:检测到未完成的快照任务,请等待!"
  exit 1
fi
# 2. 创建新快照
# 备份脚本:es_dumpfile.sh
SNAPSHOT_NAME="snapshot_$(date +%Y%m%d%H%M%S)"
curl -X PUT "http://172.16.30.164:19200/_snapshot/my_backup_repo/$SNAPSHOT_NAME?wait_for_completion=true" \
  -H "Content-Type: application/json" \
  -u "elastic:IyF4KMjr.O8Y6t" \
  -d '{
    "indices": "*",
    "ignore_unavailable": true,
    "include_global_state": false
  }'
# 3. 验证快照是否成功
if [ $? -eq 0 ]; then
  echo "快照创建成功!"
else
  echo "快照创建失败,请检查日志!"
  exit 1
fi
# 4. 将快照文件备份到制定目录
mv /opt/backup_elastic/* /opt/es_dumpfile/$(date +%Y%m%d)
echo "elastic数据备份完成!"

[es@VM-30-164-centos ~]$ cat /opt/es_dumpfile/es_scp.sh
#!/bin/bash
DATA_DIR=$(date +%Y%m%d)
scp -r /opt/es_dumpfile/${DATA_DIR}/* admae@172.16.30.210:/opt/es_dumpfile/${DATA_DIR}/
相关推荐
xiaoduo AI11 小时前
客服机器人非工作时间能休眠?智能Agent开放平台定时唤醒,无人值守省资源?
大数据·人工智能·机器人
好赞科技12 小时前
深度测评2026年精选美发预约小程序排行榜 革新预约新体验 修订
大数据·微信小程序
集和诚JHCTECH14 小时前
BRAV-7120加持,让有毒有害气体无处遁形
大数据·人工智能·嵌入式硬件
互联网志15 小时前
加速高校科技成果转化 赋能实体经济高质量发展
大数据·人工智能·物联网
李可以量化15 小时前
DeepSeek 量化交易实战:用标准化提示词模板实现 AI 辅助交易决策
大数据·数据库·人工智能
学掌门16 小时前
数据分析师职业规划——数据分析师的职业焦虑与未来发展
大数据·信息可视化
亚马逊云开发者16 小时前
EMR Core 节点部署 Flink Client 实战:Bootstrap Action 一次打包多次复用,解决调度系统提交任务的痛点
大数据·flink·bootstrap
盘古信息IMS16 小时前
九宸纳百川,数智启新程|盘古信息与合肥昊邦科技合资成立合肥九宸智能,共筑智造新生态
大数据·人工智能
Irene199116 小时前
大数据开发语境下,SQL 模式名,映射关系 - - 概念理解
大数据·数据库·sql
小熊美家熊猫系统17 小时前
社区家政与平台家政:两种创业模式的深度对比分析
大数据·家政行业·社区家政·平台家政·家政管理软件