搜尋此網誌

2016年11月4日 星期五

Elasticsearch Backup and Restore 快照(備份)與還原

1.首 先 要 建 立 倉 庫
mkdir /var2/es_backup
chmod 777 /var2/es_backup
chmod +t /var2/es_backup

vi /etc/elasticsearch/elasticsearch.yml
檔案尾端依照格式加入
path.repo: ["/var2/es_backup"]

重啟動 elasticsearch
systemctl restart elasticsearch

開始註冊倉庫
curl -X PUT 'http://localhost:9200/_snapshot/es_backup' -d '{
    "type": "fs",
    "settings": {
        "location": "/var2/es_backup",
        "compress": true
    }
}'

註:如果要刪除已經註冊的倉庫
curl -XDELETE 'http://localhost:9200/_snapshot/es_backup'

確認倉庫是否成功註冊
curl -XGET 'http://localhost:9200/_snapshot/es_backup?pretty'
得到以下訊息
{
  "es_backup" : {
    "type" : "fs",
    "settings" : {
      "compress" : "true",
      "location" : "/es_backup"
    }
  }
}

確認倉庫內所有的內容
curl -XGET 'http://localhost:9200/_snapshot/_all'




2.建 立 快 照
一間倉庫裡面,可以有很多個快照
而我故意用 20170101 來當作一個快照名稱,方便管理

curl -XPUT "localhost:9200/_snapshot/es_backup/20170101?wait_for_completion=true"

註:如果要刪除已經建立的快照
curl -XDELETE "localhost:9200/_snapshot/es_backup/20170101"


以下指令可以獲取正在運行的快照狀態
curl -XGET "localhost:9200/_snapshot/_status"


以下的指令可以把倉庫裡所有的快照條列出來:
curl -XGET "localhost:9200/_snapshot/es_backup/_all"



3.復 原
復原之前,一些 index 都要先 close,使用以下指令:
curl -XPOST "localhost:9200/_all/_close"

使用以下的指令來進行快照復原:
curl -XPOST "localhost:9200/_snapshot/es_backup/20170101/_restore?wait_for_completion=true"

成功會獲得資訊,有看到 failed:0 字眼





沒有留言:

張貼留言

搜尋此網誌