shell脚本es备份数据

shell脚本es备份数据,基于hdfs_repository,可参考我之前的文档https://blog.csdn.net/guajidai0165/article/details/90343296

#!/bin/bash
#在windows编写的代码可能运行有问题执行以下 1>vim redisshell.sh  2>:set ff=unix
esip=192.168.8.23
esbakindex=poc14,poc8
#需要提前创建eslogindex的mapping信息
eslogindex=poc9/resultdata9
esbakfile=/bigdata/bak/es/baklogs
day1=$(date -d -1day +%Y%m%d)
day7=$(date -d -7day +%Y%m%d)
transTime=$(date '+%Y-%m-%d')

if [ ! -d $esbakfile ]; then
 mkdir -p $esbakfile
fi
echo -e "\r\n"  >> $esbakfile/bak_es_log.logs

echo "=================start====$(date '+%Y-%m-%d %H:%M:%S')=================" >> $esbakfile/bak_es_log.logs

#备份新的数据,指定新的索引库 
param=`curl -XPUT "http://$esip:9200/_snapshot/my_hdfs_repository/snapshot_$day1?wait_for_completion=true" -d '{
    "indices": "'${esbakindex}'",
    "ignore_unavailable": true,
    "include_global_state": false,
    "partial": true
}'`

echo -e "\r\n"  >> $esbakfile/bak_es_log.logs

result1=$(echo $param | grep "SUCCESS")
if [[ "$result1" != "" ]]; then  
  echo " create new snapshot_$day1 success" >> $esbakfile/bak_es_log.logs
  #发送数据到es库
  curl -XPUT "http://$esip:9200/${eslogindex}/${transTime}create" -d'
{
  "transTime":"'$transTime'",
  "operation":"create",
  "snapshotname":"snapshot_'$day1'",
  "status":"success"
}'

else
  echo -e "create new snapshot_$day1 fail !!! " >> $esbakfile/bak_es_log.logs
  echo -e ${param} >> $esbakfile/bak_es_log.logs
  curl -XPUT "http://$esip:9200/${eslogindex}/${transTime}create" -d'
{
  "transTime":"'$transTime'",
  "operation":"create",
  "snapshotname":"snapshot_'$day1'",
  "status":"fail"
}'
fi


echo -e "\r\n"   >> $esbakfile/bak_es_log.logs


#删除7天以前的数据
param2=`curl -XDELETE "http://$esip:9200/_snapshot/my_hdfs_repository/snapshot_$day7?pretty"`
result2=$(echo $param2 | grep "acknowledged")
if [[ "$result2" != "" ]]; then
  echo " delete  snapshot_$day7 success " >> $esbakfile/bak_es_log.logs
  curl -XPUT "http://$esip:9200/${eslogindex}/${transTime}delete" -d'
{
  "transTime":"'$transTime'",
  "operation":"delete",
  "snapshotname":"snapshot_'$day7'",
  "status":"success"
}'
else
  echo " delete snapshot_$day7 fail !!! " >> $esbakfile/bak_es_log.logs
  echo  $param2 >> $esbakfile/bak_es_log.logs
  curl -XPUT "http://$esip:9200/${eslogindex}/${transTime}delete" -d'
{
  "transTime":"'$transTime'",
  "operation":"delete",
  "snapshotname":"snapshot_'$day7'",
  "status":"fail"
}'
fi

echo -e "\r\n"   >> $esbakfile/bak_es_log.logs


echo "======================end====$(date '+%Y-%m-%d %H:%M:%S')=======================" >> $esbakfile/bak_es_log.logs

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值