注册 登录
  • 一份付出一分收获点我获取博客邀请码
  • 明明可以过安分的生活,却偏偏有颗不安分的心。赞助会员表
  • 遇到问题时,不要轻易去放弃所遇到的这个难题,解决问题的方法有很多种,主要看你动不动脑了。最新电影电视
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏或者分享给其他技术爱好者
  • 本站福利,湖南卫视在线直播。点我查看湖南卫视直播

定时删除elasticsearch索引

定时删除日志索引脚本

#!/bin/bash
######################################################
# $Name: www.centoscn.vip
# $Version: v1.0
# $Function: clean amazon log index
# $Author: djx
# $Create Date: 2019-01-08
# $Description: shell
######################################################
#本文未加文件锁,需要的可以加
#脚本的日志文件路径
CLEAN_LOG="/var/log/clean_amazon_index.log"
#索引前缀
INDEX_PRFIX="amazon-mysql-log"
#elasticsearch 的主机ip及端口
SERVER_PORT=192.168.1.123:9200
#取出已有的索引信息
INDEXS=$(curl -s "${SERVER_PORT}/_cat/indices?v" |grep "${INDEX_PRFIX}"|awk '{print $3}')
#删除多少天以前的日志,假设输入10,意味着10天前的日志都将会被删除
DELTIME=10
# seconds since 1970-01-01 00:00:00 seconds
SECONDS=$(date -d "$(date +%F) -${DELTIME} days" +%s)
#判断日志文件是否存在,不存在需要创建。
if [ ! -f "${CLEAN_LOG}" ]
then
touch "${CLEAN_LOG}"
fi
#删除指定日期索引
echo "----------------------------clean time is $(date +%Y-%m-%d_%H:%M:%S) ------------------------------" >>${CLEAN_LOG}
for del_index in ${INDEXS}
do
indexDate=$( echo ${del_index} |cut -d "-" -f 4,5,6 )
#根据索引的名称的长度进行切割,不同长度的索引在这里需要进行对应的修改
indexSecond=$( date -d ${indexDate} +%s )
if [ $(( $SECONDS- $indexSecond )) -gt 0 ]
then
echo "${del_index}" >>${CLEAN_LOG}
#取出删除索引的返回结果
delResult=`curl -s -XDELETE "${SERVER_PORT}/"${del_index}"?pretty" |sed -n '2p'`
#写入日志
echo "clean time is $(date)" >>${CLEAN_LOG}
echo "delResult is ${delResult}" >>${CLEAN_LOG}

fi
done

然后将脚本添加到定时任务定期执行即可(crontab)。


大自然搬运工 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明定时删除elasticsearch索引
喜欢 (0)
[扫描二维码]
分享 (0)
大自然搬运工
关于作者:
不是路不平,而是你不行。到底行不行,看你停不停。只要你不停,早晚都能行。
发表我的评论
取消评论

*

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址