elasticsearchのsnapshotバックアップ
3849 ワード
公式にはsnapshot方式が提供されています.これはインデックスファイルをバックアップしているので、バックアップとリカバリのプロセスが速いです.結局、インデックスを再インデックスする必要はありません.この欠点はesリカバリにしか使用できないことです.バックアップデータを他の用途に使用することはできません.プロセスは次のとおりです.
snapshot:
//create repositori( , ,location nfs , )
curl -XPUT 'localhost:9200/_snapshot/my_backup?pretty' -d '{
"type": "fs",
"settings": {
"location": "/mnt/elasticsearch/backups/my_backup",
"compress": true
}
}'
//check repository
curl -XGET 'http://localhost:9200/_snapshot/my_backup?pretty'
//get snapshot
curl -XGET 'http://localhost:9200/_snapshot?pretty'
or
curl -XGET 'http://localhost:9200/_snapshot/_all?pretty'
// verify
curl -XPOST 'http://localhost:9200/_snapshot/my_backup/_verify?pretty'
//create snapshot
//for all
curl -XPUT "localhost:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true&pretty"
//for specific index
curl -XPUT "localhost:18200/_snapshot/my_backup/snapshot_3?wait_for_completion=true&pretty" -d '{
"indices": "test_1",
"ignore_unavailable": true,
"include_global_state": false
}'
//get snapshot
//all
curl -XGET "localhost:9200/_snapshot/my_backup/_all?pretty"
//by specific index
curl -XGET "localhost:9200/_snapshot/my_backup/snapshot_2?pretty"
//delete
curl -XDELETE "localhost:9200/_snapshot/my_backup/snapshot_2?pretty"
//delete all
curl -XDELETE "localhost:9200/_snapshot/my_backup?pretty"
//restore
curl -XPOST "localhost:9200/_snapshot/my_backup/snapshot_2/_restore?pretty" -d '{
"indices": "test_1",
"ignore_unavailable": true,
"include_global_state": false,
"rename_pattern": "test_1",
"rename_replacement": "restored_test_1"
}'
//recovery
curl -XGET http://localhost:9200/restored_test_1/_recovery?pretty=true
//get status
curl -XGET 'localhost:9200/_snapshot/_status?pretty'