Have ideas to improve npm?Join in the discussion! »

    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

    Install

    npm i elasticsearch-backup

    DownloadsWeekly Downloads

    11

    Version

    1.2.6

    License

    ISC

    Unpacked Size

    128 kB

    Total Files

    32

    Last publish

    Collaborators

    • avatar