tarantoolctl man page

tarantoolctl — a utility to control Tarantool instances

Synopsis

tarantoolctl COMMAND [INSTANCE] [FILE] [URI] [Options...]

Description

tarantoolctl may be used to introspect and control the state of Tarantool instances.

The "INSTANCE" represents the name of an instance file.

Commands

The following commands are understood:

start INSTANCE

Start the Tarantool instance specified on the command line if the instance is not running. This does nothing if an instance is running.

stop INSTANCE

Stop the Tarantool instance specified on the command line if the instance is running. This does nothing if an instance is not running.

status INSTANCE

Show status of the Tarantool instance specified on the command line (started/stopped). If pid file exists and an alive control socket exists, the return code is 0. Otherwise, the return code is not 0. Reports typical problems to stderr (e.g. pid file exists and control socket does not).

restart INSTANCE

Stop and start the Tarantool instance specified on the command line if the instance is running. This does nothing if an instance is not running.

logrotate INSTANCE

Rotate logs of the Tarantool instance specified on the command line if the instance is running. This works only if logging-into-file is enabled in the instance file ("box.cfg{log=...}" parameter). Pipe/syslog make no effect.

check INSTANCE

Check if there are syntax errors in the instance script of the Tarantool instance specified on the command line.

enter INSTANCE

Enter the interactive console of the Tarantool instance specified on the command line.

eval INSTANCE FILE
COMMAND | tarantoolctl eval INSTANCE

Evaluate a local file on the Tarantool instance specified on the command line if the instance is running. This does nothing if an instance is not running.

connect URI
COMMAND | tarantoolctl connect URI

Connect on an admin-console port to the Tarantool instance with the URI specified on the command line. This supports both TCP/Unix sockets.

cat FILE... [--space=space_no...] [--show-system] [--from=from_lsn] [--to=to_lsn] [--replica=replica_id]

Print into stdout the contents of .snap/.xlog files specified on the command line.

play URI FILE... [--space=space_no...] [--show-system] [--from=from_lsn] [--to=to_lsn] [--replica=replica_id]

Play the contents of .snap/.xlog files to another Tarantool instance with URI specified on the command line.

Options

The following options are understood:

--space=space_no

Filter the output by space number. May be passed more than once.

--show-system

Show/play the contents of system spaces.

--from=from_lsn

Show/play operations starting from the given lsn.

--to=to_lsn

Show/play operations ending with the given lsn.

--replica=replica_id

Filter the output by replica ID. May be passed more than once.

Configuration

The file with system-wide defaults for tarantoolctl is installed in "/etc/default/tarantool". This file is used when tarantoolctl is invoked by root. When invoked by a local user, tarantoolctl first looks for its defaults file in the current directory ("$PWD/.tarantoolctl"), and then in the current user's home directory ("$HOME/.config/tarantool/tarantool"). If not found, tarantoolctl falls back to built-in defaults:

    default_cfg = {
    pid_file  = "/var/run/tarantool",
    wal_dir   = "/var/lib/tarantool",
    memtx_dir = "/var/lib/tarantool",
    vinyl_dir = "/var/lib/tarantool",
    log       = "/var/log/tarantool",
    username  = "tarantool",
    }
    instance_dir = "/etc/tarantool/instances.enabled"

Most of these parameters are similar to those in "box.cfg{}":

pid_file

Directory for the pid file and control-socket file; tarantoolctl will add "/instance_name" to the directory name.

wal_dir

Directory for write-ahead *.xlog files; tarantoolctl will add "/instance_name" to the directory name.

memtx_dir

Directory for snapshot *.snap files; tarantoolctl will add "/instance_name" to the directory name.

vinyl_dir

Directory for vinyl files; tarantoolctl will add "/instance_name" to the directory name.

log

The place where the application log will go; tarantoolctl will add "/instance_name.log" to the name.

username

The user that runs the Tarantool instance. This is the operating-system user name rather than the Tarantool-client user name. Tarantool will change its effective user to this user after becoming a daemon.

instance_dir

The directory where all instance files for this host are stored. Put instance files in this directory, or create symbolic links.

As a full-featured example, you can take "example.lua" script that ships with Tarantool and defines all configuration options.

Exit Status

On success, 0 is returned, a non-zero failure code otherwise.

See Also

Tarantool manual at http://tarantool.org/doc/

Info

2017-08-23 --name=tarantoolctl Tarantool instances control