由于资源有限或业务需求,我们只想保存最近一段时间的数据,所以有必要做定时删除数据。
vim del_es_by_day.sh #!/bin/bash #定时删除elasticsearch索引 #author menard 2019-3-25 date=`date -d "-7 days" "+%Y.%m.%d"` /usr/bin/curl -v --user elastic:password -XDELETE "http://192.168.10.201:9200/*-$date"
增加可执行权限 chmod +x del_es_by_day.sh
put test-2019.03.18 put index-2019.03.18
crontab -e 00 01 * * * /workspace/script/del_es_by_day.sh
补充:Elasticsearch定时备份索引数据与恢复
Linux定时任务功能使用cron服务来进行
编写定时任务的cron表达式
crontab -e #进入cron定时任务编辑
定时任务
*/1 * * * * /opt/scheduler/es_bk.sh >> /opt/scheduler/bk_log.txt 2>&1
每隔1分钟定时执行 /opt/scheduler/目录下的es_bk.sh脚本,将数据内容写入到 /opt/scheduler目录下的bk.log.txt文件中
查看一下es_bk.sh脚本内容
#! /bin/bash echo '=================================start======================================' #删除备份的快照 curl -i -X DELETE localhost:9200/_snapshot/es_backup/snapshot01 #再次备份 curl -i -X PUT localhost:9200/_snapshot/es_backup/snapshot01 echo '==================================end======================================='
ES备份数据需要将要备份的索引数据快照一份,需要指定一个快照名,且不能使用相同的快照,所以在每次备份之前需要删除旧的快照,再备份。
创建一个备份仓库(目录)
mkdir -p /bk/es/data #修改权限 chmod -R 777 bk
修改elasticsearch.yml文件,指定仓库位置
发送初始化仓库请求
curl -i -H ""'Content-Type:application/json;charset=UTF-8'"" -X PUT --data '{"type": "fs","settings": {"location": "/bk/es/data"}}' localhost:9200/_snapshot/es_backup
es_backup是备份命名空间,可以随意指定
创建第一份快照
curl -i -X PUT localhost:9200/_snapshot/es_backup/snapshot01
将使用es_backup这个备份将es的所有索引数据备份到snapshot01这个快照下,当然也可以只备份指定索引
curl -i -H ""'Content-Type:application/json;charset=UTF-8'"" -X PUT --data '{"indices": "'bk_user_index_server'"}' localhost:9200/_snapshot/es_backup/snapshot01
重启定时任务
systemctl restart cron
恢复指定
curl -i -H ""'Content-Type:application/json;charset=UTF-8'"" -X POST --data '{"indices": "'bk_user_index_server'"}' localhost:9200/_snapshot/es_backup/snapshot01/_restore
恢复所有
curl -i -X POST localhost:9200/_snapshot/es_backup/snapshot01/_restore
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。
Copyright © 2009-2022 56dr.com. All Rights Reserved. 特网科技 特网云 版权所有 特网科技 粤ICP备16109289号
域名注册服务机构:阿里云计算有限公司(万网) 域名服务机构:烟台帝思普网络科技有限公司(DNSPod) CDN服务:阿里云计算有限公司 百度云 中国互联网举报中心 增值电信业务经营许可证B2
建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站