escmd

1.0.6 • Public • Published

escmd

ElasticSearch command line - create, delete, copy, manage indices and aliases

npm install -g escmd

$ esc

alias - Create an <alias> for an <index-pattern>
cp - copy <src> index to <dest> index. Use --nomappings to copy docs only
info - show basic info about the host (useful to check you're working on teh right cluster)
ls - list indices matching optional pattern. Use --verbose for more info on each index
mv - move <src> index to <dest> index. Use --nomappings to move docs only (not mappings)
rm - delete <index, alias or pattern...>. WARNING: cannot be reversed
Use . to separate commands

Options

--host=<url> Set the host name for all subsequent operations

--verbose Generate noisy output (depends on the command(s) suuplied, if any)

--settings.index=number_of_shards:X,number_of_replicas:Y Set the default values when an index is created

--trace Show detailed ES library logging

A single . can be used to separate commands. For example, copy, alias and list the indices:

$ esc cp twitter twatter . alias twotter twatter . ls

twatter
twitter
twotter -> twatter

Contributing

Add new commands in the tools/ dieectory, using the same name as the command you want to create. The module should export a single async function which receives four parameters:

It's nice to set module.exports.help to an informative string do esc by itself can describe your command.

Your function should run to completion (await is allowed) and return. The return value is not used. Exceptions are handled by esc and you don't need to handle everything - esc will try and print something useful in any case. Throwing a string (as opposed to an Error object) will terminate execution and print the string to stderr.

Here's tools/alias.js to show you how simple it is.

/* ES alias - create an alias from 1 or more indices */
 
module.exports = async function(es,args,config,flags) {
    if (args.length < 2) throw module.exports.help ;
 
    await es.indices.putAlias({
        name:args[0],
        index:args.slice(1)
    });
}
 
module.exports.help = "Create an <alias> for an <index-pattern>".magenta ;

Package Sidebar

Install

npm i escmd

Weekly Downloads

6

Version

1.0.6

License

ISC

Unpacked Size

11.4 kB

Total Files

10

Last publish

Collaborators

  • matatbread