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

NAME
     uux - Remote command execution over UUCP

SYNOPSIS
     uux [ options ] command

DESCRIPTION
     The uux command is used to execute a command on a remote system, or to exe-
     cute  a  command  on the local system using files from remote systems.  The
     command is not executed immediately; the request is queued until the uucico
     (8) daemon calls the system and executes it.  The daemon is  started  auto-
     matically unless one of the -r or --nouucico options is given.

     The actual command execution is done by the uuxqt (8) daemon.

     File arguments can be gathered from remote systems to the execution system,
     as  can standard input.  Standard output may be directed to a file on a re-
     mote system.

     The command name may be preceded by a system name followed by  an	exclama-
     tion  point  if  it  is to be executed on a remote system.  An empty system
     name is taken as the local system.

     Each argument that contains an exclamation point is  treated  as  naming  a
     file.  The system which the file is on is before the exclamation point, and
     the  pathname  on that system follows it.	An empty system name is taken as
     the local system; this must be used to transfer a file to a  command  being
     executed  on  a remote system.  If the path is not absolute, it will be ap-
     pended to the current working directory on the local system; the result may
     not be meaningful on the remote system.  A pathname may begin with  ~/,  in
     which   case   it	is  relative  to  the  UUCP  public  directory	(usually
     /usr/spool/uucppublic or /var/spool/uucppublic) on the appropriate  system.
     A	pathname may begin with ~name/, in which case it is relative to the home
     directory of the named user on the appropriate system.

     Standard input and output may be redirected as usual;  the  pathnames  used
     may contain exclamation points to indicate that they are on remote systems.
     Note that the redirection characters must be quoted so that they are passed
     to  uux rather than interpreted by the shell.  Append redirection (>>) does
     not work.

     All specified files are gathered together into a  single  directory  before
     execution	of  the  command  begins.  This means that each file must have a
     distinct base name.  For example,
	  uux 'sys1!diff sys2!~user1/foo sys3!~user2/foo >!foo.diff'
     will fail because both files will be copied to sys1 and  stored  under  the
     name foo.

     Arguments	may be quoted by parentheses to avoid interpretation of exclama-
     tion points.  This is useful when executing the uucp command  on  a  remote
     system.

     A	request to execute an empty command (e.g., uux sys!)  will create a poll
     file for the specified system.

     The exit status of uux is one of the codes found in the header file  sysex-
     its.h.   In particular, EX_OK ( 0 ) indicates success, and EX_TEMPFAIL ( 75
     ) indicates a temporary failure.

OPTIONS
     The following options may be given to uux.

     -, -p, --stdin
	  Read standard input and use it as the standard input for  the  command
	  to be executed.

     -c, --nocopy
	  Do  not copy local files to the spool directory.  This is the default.
	  If they are removed before being processed by the uucico  (8)  daemon,
	  the copy will fail.  The files must be readable by the uucico (8) dae-
	  mon, as well as the by the invoker of uux.

     -C, --copy
	  Copy local files to the spool directory.

     -l, --link
	  Link	local  files  into  the  spool	directory.  If a file can not be
	  linked because it is on a different device, it will be  copied  unless
	  one of the -c or --nocopy options also appears (in other words, use of
	  --link  switches  the  default from --nocopy to --copy).  If the files
	  are changed before being processed  by  the  uucico  (8)  daemon,  the
	  changed  versions will be used.  The files must be readable by the uu-
	  cico (8) daemon, as well as by the invoker of uux.

     -g grade, --grade grade
	  Set the grade of the file transfer command.  Jobs of	a  higher  grade
	  are  executed  first.  Grades run 0 ... 9 A ... Z a ... z from high to
	  low.

     -n, --notification=no
	  Do not send mail about the status of the job, even if it fails.

     -z, --notification=error
	  Send mail about the status of the job if an error  occurs.   For  many
	  uuxqt  daemons,  including  the Taylor UUCP uuxqt, this is the default
	  action; for those, --notification=error will have no effect.	However,
	  some uuxqt daemons will send mail if the job succeeds unless the --no-
	  tification=error option is used, and some other uuxqt daemons will not
	  send mail if the job fails unless the --notification=error  option  is
	  used.

     -r, --nouucico
	  Do  not  start  the uucico (8) daemon immediately; merely queue up the
	  execution request for later processing.

     -j, --jobid
	  Print jobids on standard output.  A jobid will be generated  for  each
	  file	copy  operation  required  to perform the operation.  These file
	  copies may be cancelled by passing the jobid to the --kill  switch  of
	  uustat (1), which will make the execution impossible to complete.

     -a address, --requestor address
	  Report job status to the specified e-mail address.

     -x type, --debug type
	  Turn	on  particular	debugging types.  The following types are recog-
	  nized: abnormal, chat, handshake,  uucp-proto,  proto,  port,  config,
	  spooldir,   execute,	 incoming,  outgoing.	Only  abnormal,  config,
	  spooldir and execute are meaningful for uux.

	  Multiple types may be given, separated by commas, and the --debug  op-
	  tion	may  appear  multiple  times.  A number may also be given, which
	  will turn on that many types from the  foregoing  list;  for	example,
	  --debug 2 is equivalent to --debug abnormal,chat.

     -I file, --config file
	  Set  configuration file to use.  This option may not be available, de-
	  pending upon how uux was compiled.

     -v, --version
	  Report version information and exit.

     --help
	  Print a help message and exit.

EXAMPLES
     uux -z - sys1!rmail user1
     Execute the command ``rmail user1'' on the system sys1, giving it as  stan-
     dard  input  whatever  is given to uux as standard input.	If a failure oc-
     curs, send a message using mail (1).

     uux 'diff -c sys1!~user1/file1 sys2!~user2/file2 >!file.diff'
     Fetch the two named files from system sys1 and system sys2 and execute diff
     putting the result in file.diff in the current directory.	The current  di-
     rectory must be writable by the uuxqt (8) daemon for this to work.

     uux 'sys1!uucp ~user1/file1 (sys2!~user2/file2)'
     Execute  uucp  on	the  system sys1 copying file1 (on system sys1) to sys2.
     This illustrates the use of parentheses for quoting.

RESTRICTIONS
     The remote system may not permit you to execute certain commands.	Many re-
     mote systems only permit the execution of rmail and rnews.

     Some of the options are dependent on the capabilities of the uuxqt (8) dae-
     mon on the remote system.

SEE ALSO
     mail(1), uustat(1), uucp(1), uucico(8), uuxqt(8)

BUGS
     Files can not be referenced across multiple systems.

     Too many jobids are output by --jobid, and there is no good way to cancel a
     local execution requiring remote files.

AUTHOR
     Ian Lance Taylor (ian@airs.com)

				Taylor UUCP 1.07			  uux(1)

home | help