elasticsearch-backup

1.2.6 • Public • Published

elasticsearch-backup

A cli/package tool to backup&restore Elasticsearch

NPM

npm version

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

Package Sidebar

Install

npm i elasticsearch-backup

Weekly Downloads

0

Version

1.2.6

License

ISC

Unpacked Size

128 kB

Total Files

32

Last publish

Collaborators

  • jetbean