TOMAHAWK(1)

NAME
tomahawk - enables to execute a command to many hosts

SYNOPSIS

tomahawk [options] command

DESCRIPTION

tomahawk is a program that enables to execute a command into many hosts.

$ tomahawk -h host1,host2,host3 uptime

---> 'uptime' command will be executed in host1, host2, and host3 with following output.

oinume@host1 % uptime
22:41:27 up 10 days,  3:26,  1 users,  load average: 1.11, 1.13, 1.11
oinume@host2 % uptime
22:41:28 up 20 days,  4:26,  2 users,  load average: 2.11, 2.13, 2.11
oinume@host3 % uptime
22:41:29 up 30 days,  5:26,  3 users,  load average: 3.11, 3.13, 3.11

  ssh

tomahawk executes a command via 'ssh'. You can specify options for ssh with -o/--ssh-options and can configure ssh behavior with $HOME/.ssh/config.

  hosts file

-h option enables you to specify hosts, another option '-f', which is specifying hosts files. hosts file is listing host names like this

host1
host2
host3
#host4

Starting with "#" means commenting the host out.

  shell operators

tomahawk executes commands via shell(/bin/sh), so you can use '|' (pipe), '&&', '||' operators and so on.

$ tomahawk -h host1,host2 'ps auxww | grep python'

OPTIONS

These programs follow the usual GNU command line syntax, with long options starting with two dashes ('--'). A summary of options is included below. For a complete description, see the Info files.

  -H, --hosts

Specifies host names for sending commands. You can specify multiple hosts with ','.

  -f, --hosts-files

Specifies hosts files which listed host names for sending commands. You can specify multiple hosts files with ','.

Format of hosts file is below.

web01
web02
#web03
web04

A line of starting with '#' disables a host.

  -l, --prompt-login-password

Prompts a password for ssh authentication at first. If the password is all the same between target hosts, you'll input a password just once.

  --login-password-stdin

Read a SSH password from stdin instead of prompting.

  -s, --prompt-sudo-password

Prompts a password for sudo.

  -c, --continue-on-error

Continues to send commands even if any errors. The default behavior is fail-safe, means that tomahawk will stop if any errors.

  -p, --parallel

Specifies a number of processes for parallel command execution. (default: 1) If your machine has multiple cpu cores, --parallel 2 .. N might be faster.

  -t, --timeout

Specifies timeout seconds for a command.

  -u, --ssh-user

Specifies ssh user. The default is a current logged in user.

  -o, --ssh-options

Specifies ssh options.

  -F, --output-format

Specifies command output format. The default is '${user}@${host} % ${command}\n${output}\n'

  -V, --verify-output

Verify command output of all hosts. For additional information, see checking-files-on-remote-hosts

  -C, --conf

Specifies configuration file path. For additional information, see omit-command-line-options

ENVIRONMENT VARIABLES

tomahawk's behavior is affected by the following environment variables.

  TOMAHAWK_ENV

This variable specifies an environment of 'production', 'testing' or 'development'. If TOMAHAWK_ENV=production specified, tomahawk or tomahawk-rsync prompt as "command "%s" will be executed %s hosts. Are you sure? [yes/NO]: ". The environment variable exists for mis-execution of a command.

SEE ALSO

•   tomahawk-rsync(1)

•   ssh(1)

AUTHOR
Kazuhiro Oinuma, Kohei Maeda

COPYRIGHT
2011-2014, Kazuhiro Oinuma