Provided by: clustershell_1.5.1-1build1_all bug

NAME

       clush - execute shell commands on a cluster

SYNOPSIS

       clush -a | -g group | -w nodes  [OPTIONS]

       clush -a | -g group | -w nodes  [OPTIONS] command

       clush  -a  |  -g  group | -w nodes  [OPTIONS] --copy file | dir [ file | dir ...] [ --dest
       dest_path ]

       clush -a | -g group | -w nodes  [OPTIONS] --rcopy file | dir [ file | dir  ...]  [  --dest
       dest_path ]

DESCRIPTION

       clush is a program for executing commands in parallel on a cluster and for gathering their
       results. clush executes commands interactively or can be used  within  shell  scripts  and
       other  applications.  It is a partial front-end to the ClusterShell library that ensures a
       light, unified and robust command execution framework.  clush currently makes use  of  the
       Ssh worker of ClusterShell that only requires ssh(1) (OpenSSH SSH client).

INVOCATION

       clush  can  be  started  non-interactively to run a shell command, or can be invoked as an
       interactive shell. To start a clush interactive session, invoke the clush command  without
       providing command.

       Non-interactive mode
              When  clush  is started non-interactively, the command is executed on the specified
              remote hosts in parallel. If option -b or --dshbak is specified,  clush  waits  for
              command completion and then displays gathered output results.

              The  -w  option  allows  you  to specify remote hosts by using ClusterShell NodeSet
              syntax, including the node groups @group special syntax and the  Extended  Patterns
              syntax  to  benefits  from  NodeSet  basic arithmetics (like @Agroup\&@Bgroup). See
              EXTENDED PATTERNS in nodeset(1) and also groups.conf(5) for more information.

              Unless option --nostdin is specified, clush detects  when  its  standard  input  is
              connected  to  a terminal (as determined by isatty(3)).  If actually connected to a
              terminal, clush listens to standard input when commands are running, waiting for an
              Enter  key  press.  Doing so will display the status of current nodes.  If standard
              input is not connected to a terminal, and unless  option  --nostdin  is  specified,
              clush  binds  the  standard input of the remote commands to its own standard input,
              allowing scripting methods like:
              # echo foo | clush -w node[40-42] -b cat
              ---------------
              node[40-42]
              ---------------
              foo

              Please see some other great examples in the EXAMPLES section below.

       Interactive session
              If a command is not specified, and its standard input is connected to  a  terminal,
              clush runs interactively. In this mode, clush uses the GNU readline library to read
              command lines. Readline provides commands for searching through the command history
              for  lines containing a specified string. For instance, type Control-R to search in
              the history for the next entry matching the search string typed so far.  clush also
              recognizes special single-character prefixes that allows the user to see and modify
              the current nodeset (the nodes where the commands are executed).

              Single-character interactive commands are:

                     clush> ?
                            show current nodeset

                     clush> =<NODESET>
                            set current nodeset

                     clush> +<NODESET>
                            add nodes to current nodeset

                     clush> -<NODESET>
                            remove nodes from current nodeset

                     clush> !COMMAND
                            execute COMMAND on the local system

                     clush> =
                            toggle the output format (gathered or standard mode)

              To leave an interactive session, type quit or Control-D.

       File copying mode ( --copy )

              When clush is started with the -c or --copy option, it attempts to  copy  specified
              file  and/or  dir  to  the  provided target cluster nodes.  If the --dest option is
              specified, it will put the copied files there.

       Reverse file copying mode ( --rcopy )

              When clush is started with the --rcopy option, it attempts  to  retrieve  specified
              file  and/or dir from provided cluster nodes. If the --dest option is specified, it
              must be a directory path where  the  files  will  be  stored  with  their  hostname
              appended.  If the destination path is not specified, it will take the first file or
              dir basename directory as the local destination.

OPTIONS

       --version
              show clush version number and exit

       -s GROUPSOURCE, --groupsource=GROUPSOURCE
              optional groups.conf(5) group source to use

       --nostdin
              do not watch for possible input from stdin

       Selecting target nodes:

              -w NODES
                     nodes where to run the command

              -x EXCLUDE
                     exclude nodes from the node list

              -a, --all
                     run command on all nodes

              -g GROUP, --group=GROUP
                     run command on a group of nodes

              -X EXGROUP
                     exclude nodes from this group

       Output behaviour:

              -q, --quiet
                     be quiet, print essential output only

              -v, --verbose
                     be verbose, print informative messages

              -d, --debug
                     output more messages for debugging purpose

              -G, --groupbase
                     do not display group source prefix

              -L     disable header block and order output by nodes; additionally, when  used  in
                     conjunction  with  -b/-B, it will enable "life gathering" of results by line
                     mode, such as the next line is displayed as soon as possible (eg.  when  all
                     nodes have sent the line)

              -N     disable labeling of command line

              -b, --dshbak
                     display gathered results in a dshbak-like way

              -B     like -b but including standard error

              -r, --regroup
                     fold nodeset using node groups

              -S     return the largest of command return codes

              --color=WHENCOLOR
                     whether  to  use  ANSI colors to surround node or nodeset prefix/header with
                     escape sequences to display them in color  on  the  terminal.  WHENCOLOR  is
                     never,  always  or auto (which use color if standard output/error refer to a
                     terminal). Colors are set to [34m (blue foreground text) for stdout and [31m
                     (red foreground text) for stderr, and cannot be modified.

       File copying:

              -c, --copy
                     copy local file or directory to remote nodes

              --rcopy
                     copy file or directory from remote nodes

              --dest=DEST_PATH
                     destination  file  or directory on the nodes (optional: use the first source
                     directory path when not specified)

              -p     preserve modification times and modes

       Ssh options:

              -f FANOUT, --fanout=FANOUT
                     use a specified fanout

              -l USER, --user=USER
                     execute remote command as user

              -o OPTIONS, --options=OPTIONS
                     can be used to give ssh options, eg. -o "-oPort=2022"

              -t CONNECT_TIMEOUT, --connect_timeout=CONNECT_TIMEOUT
                     limit time to connect to a node

              -u COMMAND_TIMEOUT, --command_timeout=COMMAND_TIMEOUT
                     limit time for command to run on the node

       For a short explanation of these options, see -h, --help.

EXIT STATUS

       By default, an exit status of zero indicates success of the clush  command  but  gives  no
       information  about  the  remote  commands  exit  status.  However,  when  the -S option is
       specified, the exit status of clush is the largest value of  the  remote  commands  return
       codes.

       For  failed  remote  commands whose exit status is non-zero, and unless the combination of
       options -qS is specified, clush displays messages similar to:

       clush: node[40-42]: exited with exit code 1

EXAMPLES

       # clush -w node[3-5,62] uname -r
              Run command uname -r on nodes: node3, node4, node5 and node62

       # clush -w node[3-5,62] -b uname -r
              Run  command  uname  -r  on  nodes[3-5,62]  and  display  gathered  output  results
              (dshbak-like).

       # ssh node32 find /etc/yum.repos.d -type f | clush -w node[40-42] -b xargs ls -l
              Search  some files on node32 in /etc/yum.repos.d and use clush to list the matching
              ones on node[40-42], and use -b to display gathered results.

   All/NodeGroups examples
       # clush -a uname -r
              Run command uname -r on all cluster nodes, see clush.conf(5) to setup  all  cluster
              nodes (nodes_all: field).

       # clush -a -x node[5,7] uname -r
              Run command uname -r on all cluster nodes except on nodes node5 and node7.

       # clush -g oss modprobe lustre
              Run  command  modprobe lustre on nodes from node group named oss, see clush.conf(5)
              to setup node groups (nodes_group: field).

   Copy files
       # clush -w node[3-5,62] --copy /etc/motd
              Copy local file /etc/motd to remote nodes node[3-5,62].

       # clush -w node[3-5,62] --copy /etc/motd --dest /tmp/motd2
              Copy local file /etc/motd to remote nodes node[3-5,62] at path /tmp/motd2.

       # clush -w node[3-5,62] -c /usr/share/doc/clustershell
              Recursively copy local directory /usr/share/doc/clustershell to the  same  path  on
              remote nodes node[3-5,62].

       # clush -w node[3-5,62] --rcopy /etc/motd --dest /tmp
              Copy  /etc/motd  from  remote nodes node[3-5,62] to local /tmp directory, each file
              having their remote hostname appended, eg. /tmp/motd.node3.

FILES

       /etc/clustershell/clush.conf

              System-wide clush configuration file.

       ~/.clush.conf

              This is the per-user clush configuration file.

       ~/.clush_history

              File in which interactive clush command history is saved.

SEE ALSO

       clubak(1), nodeset(1), readline(3), clush.conf(5), groups.conf(5).

BUG REPORTS

       Use the following URL to submit a bug report or feedback:
              http://sourceforge.net/apps/trac/clustershell/report

AUTHOR

       Stephane Thiell, CEA DAM  <stephane.thiell@cea.fr>

COPYRIGHT

       CeCILL-C V1