elasticsearch-backup v1.2.6
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 -gFirst of all you should init you config file ~/.esbs_config,set up your es host/port or s3 BUCKET to support this cmd.
esbs --initES_HOST=127.0.0.1
ES_PORT=9200
STORAGE_PATH=/Users/test-user/backup
DEBUG=TRUE
S3_BUCKET=esbs-test
S3_CLIENT=defaultThen show the usage via global cli
esbs -hUsage: 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 informationAlso 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 esbswhich 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
