uux(1)                                                     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 execute 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 automatically unless one of the -r  or  --nouucico
       options is given.

       The actual command execution is done by the uuxqt (8) dae-
       mon.

       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 remote system.

       The command name may be preceded by a system name followed
       by  an  exclamation  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 appended to the current working
       directory on the local system; the result may not be mean-
       ingful  on  the  remote system.  A pathname may begin with
       ~/, in which case it is relative to the UUCP public direc-
       tory  (usually  /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  redirec-
       tion  characters must be quoted so that they are passed to
       uux rather than interpreted by the shell.  Append redirec-
       tion (>>) 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 interpre-
       tation of exclamation points.  This is useful when execut-
       ing 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.

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)
            daemon, 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  uucico  (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  --notification=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 pro-
            cessing.

       -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 can-
            celled  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  recognized:  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 option may appear multiple times.  A num-
            ber  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, depending 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  standard input whatever is given to uux as
       standard input.  If a failure occurs, 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 directory 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  remote systems only permit the execution
       of rmail and rnews.

       Some of the options are dependent on the  capabilities  of
       the uuxqt (8) daemon on the remote system.

FILES
       The  file  names  may be changed at compilation time or by
       the configuration file, so these are only  approximations.

       /etc/uucp/config - Configuration file.
       /etc/uucp/oldconfig/  -  Alternative configuration (HDB or
       V2 format)
       /var/spool/uucp - UUCP spool directory.
       /var/log/uucp/Log - UUCP log file.
       /var/spool/uucppublic - Default UUCP public directory.

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.06                       1