SCOUT(1)
USER COMMANDS
SCOUT(1)
NAME
scout - SCore remote shell execution environment

SYNOPSIS
scout [-g scoreboard-group] [-f first-hostname] [-n number-of-hosts] [-F hostfile] [-wait] [-e command [args ...]]

scout [command [args ...]]

scout -v

DESCRIPTION
scout provides a remote shell environment on a cluster. Firstly, scout must be invoked with the -g option to specify a host group on which the remote shell environment is configured. Since scout invokes remote processes using the rsh(1) Unix command, all the remote hosts must be able to execute rsh(1).

If the standard input of scout is a terminal, scout invokes a shell process. The scout command (without the -g option) followed by a Unix command invokes the Unix command on all hosts in a SIMD style. If the local shell exits, scout also terminates. All remote hosts are locked via msgbserv(8) for the following cases: upon creating the scout environment, executing each Unix command, and terminating the scout environment.

If the standard input of scout is NOT a terminal, then the input is read by scout and these input commands are fed to the shell under the scout environment. This process continues until end-of-file is read, and then scout terminates. Remote hosts are locked via msgbserv(8) for the entire session.

Output from the remote shell is compared with its neighbors, and if they are the same then the outputs are merged and sent to the standard output where scout is invoked. To distinguish messages output by which remote shells, hostname(s) as a separator is displayed in bold face, if possible. The comparison takes place if the output is less than the buffer size (currently 4 Kbytes). If the buffer overflows, single hostname is output followed by an asterisk (*) to separate with the output from another host. If only single hostname without an asterisk (*) is output to separate the message from the other host(s), then it means that the comparison is failed. Otherwise, multiple hostnames is output.

The standard output (STDOUT) and standard error (STDERR) of the remote shells are merged, so there is no way to discriminate at local output. Standard input for a remote command is not supported.

Remote shell processes are invoked every time a remote command is invoked by the scout command. Remote processes will remain on all remote hosts until the scout environment terminates.

It should be noted that the local shell substitutes the filename, including wildcard(s), in a command line along with the status of the local filesystem. Thus, using wildcard(s) in a scout command may produce unexpected results. To avoid this, quote the command and its argument(s) to be executed on remote hosts. Multiple Unix commands, connected with pipe(s) (|) and/or serialized with semicolon(s) (;), can be executed on remote hosts, if they are quoted.

All the environment variables are copied upon execution of a remote command. Thus, setting of the environment variable(s) is effective for remote command execution.

The options available for scout:

-g scoreboard-group
Specifies the host group to run remote commands on. scoreboard-group must be defined in the scorehosts.db configuration file used by scoreboard(8). The shell environment variable SCBDSERV must be set to access the cluster database server

-F hostfile
Specify the file in which hostnames are listed line by line.

-f first-hostname
Forms a subgroup in which the first host is specified by first-hostname. first-hostname must be a hostname in the host group specified in scoreboard-group.

-n number-of-hosts
Forms a subgroup consisting of number-of-hosts hosts in the host group specified in scoreboard-group.

-e command [arg ...]
If -e options is specified, firstly scout environment is created, and then the next argument with the following arguments (if any) is executed on local host. Finally the scout environment is destroyed. This option must be specified at the last.

-re command [arg ...]
If -e options is specified, firstly scout environment is created, and then the next argument with the following arguments (if any) is executed on remote hosts. Finally the scout environment is destroyed. This option must be specified at the last.

command
In a scout environment, any Unix command that will be executed remotely on each cluster host

-nostdin
Without this option, the standard input (STDIN) of the scout command is broadcasted to the remote processes. With this option, this STDIN broadcasting is disbaled.

-v
Print version information on standard output, then exit

-wait
If specified, scout waits until the lock via MessagBoard succeeds.

When scout is invoked without any command arguments, scout checks if the current environment is in scout or not.

ENVIRONMENT
SCBDSERV
Set SCBDSERV for the -g option to access the cluster database server
SCOUTPWD
If this environment variable is set, the remote command is executed in the directory specified by this environment variable.
SCOUTPATH
If this environment variable is set, the remote command executable is searched using this path.
SHELL
In interactive mode (i.e. when a terminal is used as standard input), commands are executed by scout using the value of this variable for both local and remote shells.

FILES
(INSTALL_DIR)/etc/scorehosts.db
Cluster database configuration file

NOTES
Switching user ID with the su(1) Unix command in a scout environment is NOT effective on remote command execution.

SEE ALSO
scorehosts.db(5), scoreboard(8), scorehosts(1) scrun(1)

$Id: scout.html,v 1.4 2004/06/22 06:15:44 hori Exp $