1.備份資料
1.1 建立備份倉庫
1.2 備份指令碼
$ cat /alidata1/admin/scripts/elasticsearch/es_bak_del.sh
#!/bin/bash
## define vars
es_url=""
es_bak_repo="hsbc_backup"
es_user="elastic"
es_pass="123456"
es_bak_date=`date +'%y-%m-%d-%h'`
echo -e "\n **********= $es_bak_date **********=="
## bak
curl -u $:$ -xput "$/_snapshot/$/es_bak_$?wait_for_completion=true"
echo ""
##sleep
sleep 10
##del 最後的60: 定時任務 每4小時備份一次 一天備份6次 資料保留10天
es_del_snapshots=`curl -u $:$ -s -xget "$/_snapshot/$/_all" | python -m json.tool| python -c 'import json; import sys; input = sys.stdin.read(); result = [x["snapshot"] for x in json.loads(input)["snapshots"]]; print("\n".join(result[:-60]));'`
for es_del_snapshot in $; do
echo "**********=$es_del_snapshot del"
curl -u $:$ -s -xdelete "$/_snapshot/$/$"
echo ""
done
1.3 建立定時任務
$ crontab -e
0 */4 * ** /bin/bash /alidata1/admin/scripts/elasticsearch/es_bak_del.sh >> /alidata1/admin/logs/crontab/es_bak/crontab.log 2>&1
2.資料還原
目的:將某乙個備份的檔案還原到192.168.43.104
$ cat es_restore.sh
#!/bin/bash
set -e
## define vars
es_url=""
es_bak_repo="hsbc_backup"
es_restore_snapshots="es_bak_20200811"
es_user="elastic"
es_pass="123456"
##(1)獲取備份檔案中存在的索引
es_get_snapshots_index=`curl -u $:$ -s -xget "$/_snapshot/$/$" | python -m json.tool| python -c 'import json; import sys; input = sys.stdin.read(); result=json.loads(input); indices = result["snapshots"][0]["indices"]; sys.stdout.write(" ".join([i for i in indices]));'`
##(2)將備份檔案中存在的索引刪除 然後恢復
for index in $; do
if [ $ == ".security-6" ]; then # 如果索引為 .security-6 則不能刪除
continue
fi# 判斷索引是否存在
res=`curl -s -u $:$ -xget "$/$"| grep "error" |grep 404|awk ''`
if [ -z $ ] ; then #如果存在則刪除索引
curl -s -u $:$ -xdelete $/$
echo -e "\ndelete index data : $ "
fi#資料恢復
echo -e "data restore : $\n"
done
Elasticsearch 搜尋資料
elasticsearch 修改資料 elasticsearch 搜尋資料 現在我們已經了解了基本知識,讓我們嘗試使用更真實的資料。我們提供了一些虛構的客戶銀行賬戶資訊,格式如下所示 curl localhost 9200 cat indices?v 響應 health status index u...
二 elasticsearch入門(資料)
程式中大多的實體或物件能夠被序列化為包含鍵值對的json物件,鍵 key 是字段 field 或屬性 property 的名字,值 value 可以是字串 數字 波爾型別 另乙個物件 值陣列或者其他特殊型別,比如表示日期的字串或者表示地理位置的物件。accounts 文件元資料 乙個文件不只有資料。...
elasticSearch修改資料
elasticsearch幾乎能實時提供資料操作和搜尋功能。預設情況下,從開始索引 更新 刪除資料到出現搜尋結果的時間可以認為需要一秒的時間。這是與sql等其他平台的重要區別,其中資料在事務完成後可以立即使用。在上節中我們給索引建立了乙個文件,命令為 put customer doc 1 prett...