Scroll to navigation

TARANTOOLCTL(1) Tarantool instances control TARANTOOLCTL(1)

NAME

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(1), Tarantool manual at http://tarantool.org/doc/

COPYRIGHT

Copyright (C) 2010-2017 Tarantool AUTHORS: please see AUTHORS file.
2018-11-30 --name=tarantoolctl