Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RSET(1) 		     General Commands Manual			 RSET(1)

NAME
     rset -- remote staging and execution tool

SYNOPSIS
     rset [-AenRt] [-E environment] [-F sshconfig_file] [-f routes_file]
	  [-x label_pattern] hostname ...
     rset [-e] [-E environment] [-F sshconfig_file] [-f routes_file]
	  [-x label_pattern] -o log_directory -p workers hostname ...

DESCRIPTION
     rset  evaluates  script  fragments  written  in  Progressive Label Notation
     (pln(5)), executing each script in sequence using ssh connection multiplex-
     ing.  rset accepts  one  or  more	hostnames  which  match  the  labels  in
     routes_file.

     The arguments are as follows:

     -A      Download  files  listed in label export paths to the local _archive
	     directory in the  format  `hostname:basename(filename)'.	Absolute
	     paths are permitted, or paths relative to the staging directory.

     -e      Exit immediately if any label returns non-zero exit status.

     -n      Do  not  connect to remote hosts.	May be combined with -x to high-
	     light label names that match.  Special text defined between { and }
	     is still executed locally.

     -R      Send files listed in label export paths from the local _archive di-
	     rectory.  This is the reverse of -A.

     -t      Allow TTY input by copying the content of each label to the  remote
	     host instead of opening a pipe to the interpreter.

     -E      Set   one	 or   more   environment   variables  using  the  format
	     `name="value" ...'.

     -F      Specify a config file for ssh(1) to use.

     -f      Specify a routes_file.  This file is composed of labels which  cor-
	     respond  to  hostnames  or  IP  addresses which are matched against
	     hostname.	The default is routes.pln.

     -o      Log directory to use for background workers.  Each log file is cre-
	     ated for each worker using the format `YYYY-MM-DD_HHMMSS.n'.

     -p      Parallel execution distributed across the specified number of work-
	     ers.  The log directory must also be specified using -o.  A summary
	     of results is displayed using the rexec-summary script  located  in
	     the search path.

     -x      Execute  labels  matching the specified regex.  By default only la-
	     bels beginning with [0-9a-z] are evaluated.

ENVIRONMENT
     Status messages for each stage of execution may be  customized  by  setting
     RSET_HOST_CONNECT,      RSET_HOST_CONNECT_ERROR,	  RSET_LABEL_EXEC_BEGIN,
     RSET_LABEL_EXEC_END, RSET_LABEL_EXEC_ERROR, and RSET_HOST_DISCONNECT.

     Setting RSET_HOST_CONNECT disables the default status messages and  is  the
     only  required  variable.	 These have no effect in conjunction with the -n
     flag.  The following variables are interpolated:

     %e    exit code
     %l    label name
     %h    hostname
     %s    session identifier
     %T    rfc-3339 timestamp
     %%    literal `%'

     Execution on the remote host sets the following environment variables:

     INSTALL_URL   Used by rinstall(1) for fetching content from _sources.

     SD 	   Staging directory where rset unpacks utilities and configura-
		   tion files.

     HTTP_TRACE    If defined, print log messages from miniquark(1).

     SSH_TRACE	   If defined, print commands used for remote execution.

     Environment state may set for the duration of the ssh session using renv(1)
     using `name=value' as the first argument.

FILES
     Available hosts and the pathnames to labeled scripts to run are  read  from
     routes.pln, located in the current directory.

     A	ssh  master  is established at the beginning of a session and all subse-
     quent   interactions   with   a   host   are   run   over	 a   socket   at
     /tmp/rset_control_{hostname}.

     The local directory _rutils is created if it does not exist, and is shipped
     to  the  remote  host at the beginning of each execution to directory named
     /tmp/rset_staging_{http_port}.

OPTIONS
     The following options are recognized when parsing a pln(5) file:

   environment=
     Space separated list of environment variables.  Only  values  matching  the
     pattern `name="value"' are added to the environment on the remote host.

   environment_file=
     Path to a file which defines environment variables validated by renv(1).

   interpreter=
     The  interpreter  to  run a script fragment with.	Defaults to /bin/sh, but
     any language may be used that is capable of reading scripts over STDIN.

   local_interpreter=
     The interpreter to evaluate content that is prepended to a script	Defaults
     to /bin/sh.

   execute_with=
     Command for elevating privileges, such as doas(1) and sudo(8).

SINGLE USE OPTIONS
     The following are effective only for the subsequent label:

   begin=
     Execute a script using the `local_interpreter' before the label is executed
     on the remote lost.

   end=
     Execute  a script using the `local_interpreter' after the label is executed
     on the remote host.

SEE ALSO
     rinstall(1), rsub(1), ssh_config(5), re_format(7)

FreeBSD ports 15.quarterly	January 17, 2026			 RSET(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rset&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help