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