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  [-AenRtv]	[-E  environment] [-F sshconfig_file] [-f routes_file]
	    [-x	label_pattern] hostname	...
       rset  [-ev]  [-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	multi-
       plexing.	 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
	       highlight 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
	       directory.  This	is the reverse of -A.

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

       -v      Print the HTTP log messages after each label is executed.

       -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
	       correspond 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
	       created for each	worker using the format	`YYYY-MM-DD_HHMMSS.n'.

       -p      Parallel	execution distributed across the specified  number  of
	       workers.	 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
	       labels beginning	with [0-9a-z] are evaluated.

ENVIRONMENT
       Status  messages	 for each stage	of execution may be customized by set-
       ting 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  con-
		     figuration	files.

       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 sub-
       sequent	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	direc-
       tory 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 De-
       faults 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 exe-
       cuted on	the remote lost.

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

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

FreeBSD	Ports 14.quarterly     February	6, 2025			       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+14.3.quarterly>

home | help