elasticsearch-backup
v1.2.6
Published
command tools for es auto backup & restore
Downloads
55
Maintainers
Readme
elasticsearch-backup
A cli/package tool to backup&restore Elasticsearch
Built by @quickly3
Installation
The most common use of esbs is to use it as a global cli.
npm install esbs -g
First of all you should init you config file ~/.esbs_config
,set up your es host/port or s3 BUCKET to support this cmd.
esbs --init
ES_HOST=127.0.0.1
ES_PORT=9200
STORAGE_PATH=/Users/test-user/backup
DEBUG=TRUE
S3_BUCKET=esbs-test
S3_CLIENT=default
Then show the usage via global cli
esbs -h
Usage: esbs [options]
Options:
-V, --version output the version number
-R, --restore restore model
-B, --backup backup model
-D, --delete delete repository/snapshot
-r, --repository <repository> Set a repository name
-s, --snapshot <snapshot> Set a snapshot name
-t, --type <type> Set a storage type ef/s3
-i, --indices <indices> A list index default all [usage] "index1,index2"
-d, --dir <dir> set backup dir
--init Create config File
--showTasks show runing tasks
--showIndeics show nodes indices
--sr, --showRepository show Repositories
--ss, --showSnapshot show Snapshots
--ssi, --showSnapshotInfo show Snapshot detail info
-h, --help output usage information
Also esbs is to use it as a library. In this case, just include it in your Node.js project by adding a line for "esbs" in your pacakge.json
dependencies. For more information about your package.json
file, you should check out the npm documentation by running npm help json
.
Alternatively, you can quickly install Filepath for use in a project by running
npm install esbs
which will install esbs in your node_modules/
folder.
Quick Start
Global cli
For Backup Example
esbs -B -r my_repository -s my_snapshot1 -i "index1,index2"
For Restore Example
esbs -R -r my_repository -s my_snapshot1 -i "index1,index2" --rp "index_(.+)" --rr "restored_index_$1"
Load the module
var esbs = require('../');
let options = {
ES_HOST: '127.0.0.1',
ES_PORT: '9200',
STORAGE_PATH: '/Users/test-user/backup',
S3_BUCKET: 'esbs-test',
S3_CLIENT: 'default',
DEBUG: 'TRUE',
indices: '*',
snapshot_type: 'fs',
repository: 'es-backup',
waitForCompletion: false,
snapshot: 'test2',
location: '/Users/test-user/backup/es-backup',
s3_dir: 'es-backup'
}
esbs.setOptions(options);
esbs.doAction("backup");
Notice
For backup your es to fs : open es config file config/elasticsearch.yml
,add repositroy storage path
path.repo: ["/tmp/backup"]
then restart your elasticsearch service.
For local to s3 :
https://blog.csdn.net/feng12345zi/article/details/81006440
Spec for Aws es:
https://stackoverflow.com/questions/45958911/elasticsearch-js-with-aws
https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-snapshots.html