tarantoolctl - a utility to control Tarantool instances
tarantoolctl COMMAND [INSTANCE] [FILE] [URI] [OPTIONS...]
tarantoolctl may be used to introspect and control the state of Tarantool
instances.
The "INSTANCE" represents the
name of an instance file.
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.
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.
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.
On success, 0 is returned, a non-zero failure code
otherwise.
tarantool(1), Tarantool manual at http://tarantool.org/doc/
Copyright (C) 2010-2017 Tarantool AUTHORS: please see AUTHORS file.