快照和恢復模塊可以將單個索引或者整個集羣做一個快照並存放到遠程倉庫上。目前支持共享文件系統倉庫和官方通過插件方式提供的其他倉庫。
1、倉庫註冊
在創建或恢復倉庫數據之前,首先需要到ElasticSearch裏進行註冊,如下命令用my_backup註冊一個共享文件系統,快照數據將存放在/mount/backups/my_bakup上:
$ curl -XPUT 'http://localhost:9200/_snapshot/my_backup' -d '
{
"type": "fs",(共享的文件系統倉庫)
"settings": {
"location": "/mount/backups/my_backup", (快照存放位置)
"compress": true (快照是否壓縮,默認true)
}
}'
2、查看倉庫信息:
$ curl -XGET 'http://localhost:9200/_snapshot/my_backup?pretty'
{
"my_backup" : {
"type" : "fs",
"settings" : {
"compress" : "true",
"location" : "/mount/backups/my_backup"
}
}
}
3、創建快照
同一個集羣中,一個倉庫中可以存放多個快照。快照在集羣中的名稱是唯一的。使用下面命令創建快照名爲snapshot_1的快照:
$ curl -XPUT "localhost:9200/_snapshot/my_backup/snapshot_1"-d '{
"indices": "index_1,index_2",
"ignore_unavailable": "true",
"include_global_state": false
}'
4、查看快照信息:
$ curl -XGET "localhost:9200/_snapshot/my_backup/snapshot_1"
5、快照恢復
$ curl -XPOST "localhost:9200/_snapshot/my_backup/snapshot_1/_restore"-d '{
"indices": "index_1,index_2",
"ignore_unavailable": "true",
"include_global_state": false,
"rename_pattern": "index_(.+)",
"rename_replacement": "restored_index_$1"
}'
6、監控快照創建或恢復過程
$ curl -XGET "localhost:9200/_snapshot/my_backup/snapshot_1/_status"
</pre><div style="background:#F0F0F0"><pre>
【參考】:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/index.html