JSH(1)                     OpenBSD Reference Manual                     JSH(1)

NAME
     jsh - run scheduled commands on remote machines

SYNOPSIS
     jsh [-aeiv] [-l username] [-p port] [-o port] [-h hostname] [command ...]

DESCRIPTION
     The jsh program connects to a jsd daemon, and requests a node for
     processing.  It will then connect to that remote node and execute the
     command or commands given to it.  Once it has completed work on the
     remote machine, it will return the node to the jsd daemon for future use
     by other jsh processes.  The primary use of this is to ensure that no
     more than one remote process is running on any single machine at a point
     in time.  This can be used to better facilitate bulk parallel compiling.

     The following options are available:

     -a   The -a option modifies the behavior of jsh when dealing with stdin.
          Normally all commands from stdin are run on the same machine.
          Specifying the -a option causes each command to be run on the next
          node in the seqence.

     -e   Unless the -e option is specified, stderr from remote commands will
          not be reported to the user.

     -i   The -i option will list information about the current cluster, and
          command groupings. It will also show you which command you are about
          to run, and your username if specified with the -l option.

     -v   Prints the version of ClusterIt to the stdout, and exits.

     -l   If the -l option is specified, followed by a username, the commands
          will be run under that userid on the remote machines.  Consideration
          must be taken for proper authentication, for this to work.

     -p   The -p option can be used to set the port number which jsd will
          listen to replies from jsh processes indicating completion of
          processing on remote nodes.  This option overrides the JSD_IPORT
          environment variable.  The default listen port is 2001.

     -o   The -o option can be used to set the port number which jsd will
          listen to requests from jsh processes for remote nodes.  This option
          overrides the JSD_OPORT environment variable.  The default listen
          port is 2002.

     -h   The -h option can be used to set the remote hostname where a jsd
          daemon is running.  jsh defaults to contacting a jsd daemon on the
          local machine, but can be set up to talk to a remote daemon.  The -h
          option will override the JSD_HOST environment variable.

ENVIRONMENT
     jsh utilizes the following environment variables:

     RCMD_CMD       Command to use to connect to remote machines.  The command
                    chosen must be able to connect with no password to the
                    remote host.  Defaults to ssh.

     RCMD_CMD_ARGS  Arguments to pass to the remote shell command.  Defaults
                    to none.

     JSD_OPORT      When set, overrides the default port which jsd listens on
                    for jsh processes requesting nodes.  This environment
                    setting can be overriden by the -o option.

     JSD_IPORT      When set, overrides the default port which jsd listens on
                    for jsh processes reporting back that it has completed
                    processing on a node.  This environment setting can be
                    overriden by the -p option.

     JSD_HOST       When set, contains the hostname of the remote machine that
                    the jsd daemon is listening on.  This environment setting
                    can be overriden by the -h option.

SEE ALSO
     dsh(1), ssh(1), kerberos(3), hosts.equiv(5), rhosts(5), jsd(1).

HISTORY
     The jsh command first appeared in clusterit 2.0.

AUTHOR
     Jsh was written by Tim Rightnour.

                               February 19, 2000
