使用elasticsearch定時(shí)刪除索引數(shù)據(jù)
1、有的時(shí)候我們?cè)谑褂肊S
由于資源有限或業(yè)務(wù)需求,我們只想保存最近一段時(shí)間的數(shù)據(jù),所以有必要做定時(shí)刪除數(shù)據(jù)。
2、編寫腳本
vim del_es_by_day.sh #!/bin/bash #定時(shí)刪除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"
增加可執(zhí)行權(quán)限 chmod +x del_es_by_day.sh
3、創(chuàng)建用于測(cè)試的索引
put test-2019.03.18 put index-2019.03.18
4、執(zhí)行腳本測(cè)試結(jié)果,可以看到刪除成功
5、做定時(shí)任務(wù)
crontab -e 00 01 * * * /workspace/script/del_es_by_day.sh
補(bǔ)充:Elasticsearch定時(shí)備份索引數(shù)據(jù)與恢復(fù)
定時(shí)備份腳本
Linux定時(shí)任務(wù)功能使用cron服務(wù)來進(jìn)行
編寫定時(shí)任務(wù)的cron表達(dá)式
crontab -e #進(jìn)入cron定時(shí)任務(wù)編輯
定時(shí)任務(wù)
*/1 * * * * /opt/scheduler/es_bk.sh >> /opt/scheduler/bk_log.txt 2>&1
每隔1分鐘定時(shí)執(zhí)行 /opt/scheduler/目錄下的es_bk.sh腳本,將數(shù)據(jù)內(nèi)容寫入到 /opt/scheduler目錄下的bk.log.txt文件中
查看一下es_bk.sh腳本內(nèi)容
#! /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備份數(shù)據(jù)需要將要備份的索引數(shù)據(jù)快照一份,需要指定一個(gè)快照名,且不能使用相同的快照,所以在每次備份之前需要?jiǎng)h除舊的快照,再備份。
ES備份與恢復(fù)
創(chuàng)建一個(gè)備份倉(cāng)庫(目錄)
mkdir -p /bk/es/data #修改權(quán)限 chmod -R 777 bk
修改elasticsearch.yml文件,指定倉(cāng)庫位置
發(fā)送初始化倉(cāng)庫請(qǐng)求
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是備份命名空間,可以隨意指定
創(chuàng)建第一份快照
curl -i -X PUT localhost:9200/_snapshot/es_backup/snapshot01
將使用es_backup這個(gè)備份將es的所有索引數(shù)據(jù)備份到snapshot01這個(gè)快照下,當(dāng)然也可以只備份指定索引
curl -i -H ""'Content-Type:application/json;charset=UTF-8'"" -X PUT --data '{"indices": "'bk_user_index_server'"}' localhost:9200/_snapshot/es_backup/snapshot01
重啟定時(shí)任務(wù)
systemctl restart cron
恢復(fù)索引
恢復(fù)指定
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
恢復(fù)所有
curl -i -X POST localhost:9200/_snapshot/es_backup/snapshot01/_restore
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Docker搭建私有倉(cāng)庫(registry與Harbor)的實(shí)現(xiàn)
這篇文章主要介紹了Docker搭建私有倉(cāng)庫(registry與Harbor)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12docker-desktop啟動(dòng)k8s的詳細(xì)方法
這篇文章主要介紹了docker-desktop啟動(dòng)k8s,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker
這篇文章主要介紹了如何將gitbub下載的docker-compose項(xiàng)目運(yùn)行在docker問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05在宿主機(jī)上執(zhí)行docker容器內(nèi)部的shell或程序方式
這篇文章主要介紹了在宿主機(jī)上執(zhí)行docker容器內(nèi)部的shell或程序方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker-Compose創(chuàng)建mysql容器詳解
這篇文章主要介紹了Docker-Compose創(chuàng)建mysql容器詳解的相關(guān)資料,需要的朋友可以參考下2022-11-11關(guān)于docker容器優(yōu)雅退出的問題詳解
在Docker大火的今天,我們能夠非常方便的使用容器打包我們的應(yīng)用程序,并且將它在我們的服務(wù)器上部署并運(yùn)行起來。而下面這篇文章主要給大家介紹了關(guān)于docker容器如何優(yōu)雅退出的問題,需要的朋友可以參考下。2017-09-09win7下docker安裝與報(bào)錯(cuò)問題的解決方法
這篇文章主要為大家詳細(xì)介紹了win7下docker安裝與報(bào)錯(cuò)問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06