jsh
— run
scheduled commands on remote machines
jsh |
[-aeiv ] [-l
username] [-p
port] [-o
port] [-h
hostname] [command ...] |
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.
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
rsh
.
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.
The jsh
command first appeared in
clusterit 2.0.
Jsh
was written by Tim Rightnour.