*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> nrdist (1)              



NAME    [Toc]    [Back]

       nrdist - Remote file distribution client program

SYNOPSIS    [Toc]    [Back]

       /usr/bin/nrdist  [-DFn]  [-A  num] [-a num] [-d var=value]
       [-l <local logopts>] [-L <remote logopts>]  [-f  distfile]
       [-M maxproc] [-m host] [-odistopts] [-t timeout] [name...]

       /usr/bin/nrdist -DFn  -c  name ... [login@]host[:dest]

       /usr/bin/nrdist -Server

       /usr/bin/nrdist -V

OPTIONS    [Toc]    [Back]

       Sets the minimum  number  of  free  files  (inodes)  on  a
       filesystem that must exist for nrdist to update or install
       a file.  Sets the minimum amount of free space (in  bytes)
       on  a  filesystem  that must exist for nrdist to update or
       install a file.  Turns on debugging output.   Defines  var
       to  have value.  This option is used to define or override
       variable definitions in the distfile. The value  parameter
       can  be an empty string, one name, or a list of names surrounded
 by parentheses and separated by  tabs  or  spaces.
       Does  not fork any child nrdist processes. All clients are
       updated sequentially.  Sets the name of  the  distfile  to
       use to be distfile.  If distfile is specified as - (dash),
       read from standard  input  (stdin).   Sets  local  logging
       options. See MESSAGE LOGGING for details on the syntax for
       logopts.  Sets remote logging options. The logopts is  the
       same  as for local logging except the values are passed to
       the  remote  server  (rdistd).  See  MESSAGE  LOGGING  for
       details  on the syntax for logopts.  Sets the maximum number
 of simultaneously running child  nrdist  processes  to
       num.  The  default  is 4.  Limits which machines are to be
       updated. Multiple -m  arguments  can  be  given  to  limit
       updates  to  a subset of the hosts listed in the distfile.
       You can also specify an  IPv6  address  or  addresses  for
       machine.  Prints the commands without executing them. This
       option is useful for debugging  distfile.   Specifies  the
       dist  options to enable. The distopts is a comma-separated
       list of the following options: Verify that the  files  are
       up  to  date  on  all the hosts. Any files that are out of
       date will be displayed but no files will  be  changed  nor
       any  mail  sent.   Whole  mode.  The  whole  file  name is
       appended to the  destination  directory  name.   Normally,
       only  the  last  component of a name is used when renaming
       files. This will preserve the directory structure  of  the
       files  being  copied  instead  of flattening the directory
       structure. For example, rdisting a list of files  such  as
       /path/dir1/f1  and  /path/dir2/f2 to /tmp/dir would create
       files  /tmp/dir/path/dir1/f1   and   /tmp/dir/path/dir2/f2
       instead  of  /tmp/dir/dir1/f1 and /tmp/dir/dir2/f2.  Automatically
 exclude executable files that  are  in  a.out(4)
       format from being checked or updated.  Younger mode. Files
       are normally updated if their mtime and size (see stat(2))
       disagree.  This  option  causes nrdist not to update files
       that are younger than the master copy. This can be used to
       prevent newer copies on other hosts from being replaced. A
       warning message is printed for files which are newer  than
       the  master  copy.   Binary  comparison.  Perform a binary
       comparison and update files if  they  differ  rather  than
       comparing  dates  and sizes.  Follow symbolic links.  Copy
       the file that the link points  to  rather  than  the  link
       itself.  Ignore unresolved links.  The nrdist command will
       normally try to maintain the link structure of files being
       transferred  and  warn the user if all the links cannot be
       found.  Do not check or update files on target  host  that
       reside on NFS filesystems.  Enable check on target host to
       see if a file resides on a read-only filesystem. If a file
       does,  then  no  checking  or  updating  of  the  file  is
       attempted.  If the target on the remote host is a symbolic
       link,  but  is  not  on the master host, the remote target
       will be left a symbolic link. This behavior  is  generally
       considered a bug in the original version of nrdist, but is
       present to allow compatibility with older versions.  Quiet
       mode.  Files  that are being modified are normally printed
       on standard output. This option suppresses  this.   Remove
       extraneous  files.   If  a directory is being updated, any
       files that exist on the remote host that do not  exist  in
       the master directory are removed. This is useful for maintaining
 truly identical copies  of  directories.   Do  not
       check user ownership of files that already exist. The file
       ownership is only set when the file is  updated.   Do  not
       check  group  ownership  of  files that already exist. The
       file ownership is only set when the file is  updated.   Do
       not check file and directory permission modes. The permission
 mode is only set when the file is  updated.   Do  not
       descend into a directory. Normally nrdist will recursively
       check directories.  If this option is enabled,  any  files
       listed  in the file list in the distfile that are directories
 are not recursively scanned. Only the existence, ownership,
  and  mode  of the directory are checked.  Use the
       numeric group id (gid) to check group ownership instead of
       the  group  name.   Use the numeric user id (uid) to check
       user ownership instead of the user name.  Save files  that
       are updated instead of removing them. Any target file that
       is updates is first rename from file  to  file.OLD.   Sets
       the  timeout period (in seconds) for waiting for responses
       from the remote nrdist server. The default is 900 seconds.
       Print version information and exit.

DESCRIPTION    [Toc]    [Back]

       The  nrdist  command  is  a  program to maintain identical
       copies of files over  multiple  hosts.  It  preserves  the
       owner, group, mode, and modification time of files if possible
 and can update  programs  that  are  executing.  The
       nrdist  command reads commands from distfile to direct the
       updating of files or directories, or both. If distfile  is
       a - (dash), the standard input is used.

       If  no -f option is specified, the program looks first for
       distfile, then Distfile to use as the input.  If  no  file
       names  are  specified  on the command line, nrdist updates
       all of the files and directories listed in distfile.  Otherwise,
  the  argument is read as the name of a file to be
       updated or a command to execute. If the name of  the  file
       specified  by the file argument is the same as the name of
       a command, the nrdist command treats the file  name  as  a
       command.   These  may  be used together to update specific
       files using specific commands.

       The -c option forces nrdist  to  interpret  the  remaining
       arguments  as a small distfile. The equivalent distfile is
       as follows.

       ( name ... ) -> [login@]host install   [dest] ;

       If you want to specify an IPv6 address for host, you  must
       prefix  the  address with the \[ (backslash, left bracket)
       characters and terminate the address with  the  \]  (backslash,
 right bracket) characters.

       The  -Server  option  provides partial backward compatible
       support for older versions of nrdist that used this option
       to  put nrdist into server mode. If nrdist is started with
       the -Server command line option, it attempts to exec (run)
       the  old  version  of rdist. This option will only work if
       nrdist was compiled with the location  of  the  old  rdist
       (usually  /usr/old/rdist) and that program is available at
       run time.

       The nrdist command uses the rcmd(3)  interface  to  access
       each  target  host. The nrdist command attempts to run the
       rdistd -S command on each target host. The nrdist  command
       does  not  specify  the absolute pathname to rdistd on the
       target host in order to avoid imposing any policy on where
       rdistd must be installed on target host. Therefore, rdistd
       must be somewhere in the $PATH of the user running  nrdist
       on the remote (target) host.

   MESSAGE LOGGING    [Toc]    [Back]
       The nrdist command uses a collection of predefined message
       facilities that each contain a list of message types specifying
  which  types of messages to send to that facility.
       The local client (nrdist) and the remote  server  (rdistd)
       each  maintain their own copy of what types of messages to
       log to what facilities.

       The -l logopts option to nrdist tells nrdist what  logging
       options  to  use  locally. The -L logopts option to nrdist
       tells nrdist what logging options to pass  to  the  remote
       rdistd server.

       The   form   of   logopts   should   be   of  form  facility=types:facility=types...

       The valid facility names are: Sends messages  to  standard
       output.   Sends  messages  to a file.  To specify the file
       name, use the following format: file=filename=types.

              For example,  file=/tmp/rdist.log=all,debug.   Uses
              the  syslogd(8) facility.  Uses the internal nrdist
              notify facility. This facility is used in  conjunction
 with the notify keyword in a distfile to specify
 what messages are mailed to the notify address.

       The  types  should  be  a  comma separated list of message
       types.  Each message type specified enables  that  message
       level.  This is unlike the syslog(3) system facility which
       uses an ascending order  scheme.  The  following  are  the
       valid types: Things that change.  This includes files that
       are installed or updated in some  way.   General  information.
    General  info  about  things  that  change.  This
       includes things like making directories which  are  needed
       in  order  to install a specific target, but which are not
       explicitly specified in the distfile.  Normal errors  that
       are not fatal.  Fatal errors.  Warnings about errors which
       are not as serious as  nerror  type  messages.   Debugging
       information.  All but debug messages.

       Here is a sample command line option:

       -l stdout=all:syslog=change,notice:file=/tmp/rdist.log=all

       This entry will set local message logging to have all  but
       debug  messages sent to standard output, change and notice
       messages will be sent to syslog(3), and all messages  will
       be written to the file /tmp/rdist.log.

   DISTFILES    [Toc]    [Back]
       The  distfile  contains a sequence of entries that specify
       the files to be copied, the destination  hosts,  and  what
       operations  to  perform to do the updating. Each entry has
       one of the following formats.

       <variable_name> = <name_list>  [label:]  <source_list>  ->
       <destination_list>  <command_list>  [label:] <source list>
       :: <timestamp_file> <command_list>

       The first format is used for defining variables. The  second
  format is used for distributing files to other hosts.
       The third format is used for making lists  of  files  that
       have been changed since some given date.

       The  source_list  specifies a list of files or directories
       on the local host which are to be used as the master  copy
       for  distribution.  The  destination_list  is  the list of
       hosts to which these files are to be copied.  Each file in
       the  source_list is added to a list of changes if the file
       is out of date on the host which is being updated  (second
       format)  or  the  file  is  newer  than the timestamp_file
       (third format).

       Labels are optional. They are used to identify  a  command
       for partial updates.

       Newlines, tabs, and blanks are only used as separators and
       are otherwise ignored. Comments begin  with  a  #  (number
       sign) and end with a newline.

       Variables to be expanded begin with a $ (dollar sign) followed
 by one character or a name enclosed in curly  braces
       (see EXAMPLES).

       The source and destination lists one of the following formats:

       <name> ( <zero or more names separated by white-space> )

       If you want to specify an IPv6 address  or  addresses  for
       destination_list,  you  must enclose each address with the
       [] (bracket) characters.

       These simple lists can be modified by using one  level  of
       set addition, subtraction, or intersection as follows:

       list - list list + list list & list

       If  additional  modifications are needed (for example, all
       servers and client machines  except  for  the  Tru64  UNIX
       machines), the list will have to be explicitly constructed
       in steps using temporary variables.

       The shell meta-characters [,],,},*, and ?  are  recognized
       and  expanded  (on the local host only) in the same way as
       csh(1). They can be escaped with a \ (backslash).   The  ~
       (tilde) character is also expanded in the same way as csh,
       but is expanded separately on the  local  and  destination
       hosts.  When  the  -owhole option is used with a file name
       that begins with a ~, everything except the home directory
       is  appended  to  the destination name. File names that do
       not begin with a / (slash) or  a  ~  use  the  destination
       user's  home  directory as the root directory for the rest
       of the file name.

       The command list consists of zero or more commands of  the
       following format:

       install        <options>         opt_dest_name   ;  notify
       <name_list>       ;   except          <name_list>        ;
       except_pat    <pattern_list>   ;  special      <name_list>
       string  ; cmdspecial   <name_list>     string  ;

       The install command is used to copy out-of-date  files  or
       directories.  Each  source  file is copied to each host in
       the destination list. Directories are  recursively  copied
       in the same way. The opt_dest_name argument is an optional
       argument to rename files.  If no install  command  appears
       in  the command list or the destination name is not specified,
 the source file name is used.

       Directories in the path name are created if  they  do  not
       exist on the remote host. The -odistopts option, as specified
 under OPTIONS, has the same semantics as on the  command
  line  except  they  only  apply  to the files in the
       source list.  The login name used on the destination  host
       is  the same as the local host unless the destination name
       is of the format login@host.

       The notify command is used  to  mail  the  list  of  files
       updated  (and  any  errors  that may have occurred) to the
       listed names. If no @ (at sign) appears in the  name,  the
       destination  host  is  appended  to the name (for example,
       name1@host, name2@host, ...).

       The except command is used to update all of the  files  in
       the  source list except for the files listed in name_list.
       This is usually used to copy everything  in  a  directory,
       except certain files.

       The  except_pat  command is like the except command except
       that pattern_list is a list of  regular  expressions  (see
       ed(1)  for  details).  If one of the patterns matches some
       string within a file name, that file will be ignored. Note
       that  since  \ is a quote character, it must be doubled to
       become part of  the  regular  expression.   Variables  are
       expanded  in  pattern_list,  but  not  shell  file pattern
       matching characters.  To include a  $  (dollar  sign),  it
       must be escaped with \ (backslash).

       The  special  command  is used to specify sh commands that
       are to be executed on the remote host after  the  file  in
       name_list  is  updated  or  installed. If the name_list is
       omitted, the shell commands will  be  executed  for  every
       file  updated or installed.  string starts and ends with "
       (double quote) and can cross multiple lines  in  distfile.
       Separate  multiple  commands  to the shell with a ; (semicolon).
 Commands are executed in the user's home directory
       on the host being updated. The special command can be used
       to rebuild private databases  after  a  program  has  been
       updated.  The  following environment variables are set for
       each special command: The full pathname of the local  file
       that  was  just  updated.  The full pathname of the remote
       file that was just updated.

       The cmdspecial command is similar to the special  command,
       except it is executed only when the entire command is completed
 instead of after each file is updated. The list  of
       files  is placed in the environment variable $FILES.  Each
       file name in $FILES is separated by a ; (semicolon).

       If a hostname ends in a + (plus sign), the  plus  sign  is
       stripped  off and NFS checks are disabled. This is equivalent
 to disabling the -ochknfs option just  for  this  one

       The following is an example of a distfile:

       HOSTS = ( matisse root@arpa)

       FILES = ( /bin /lib /usr/bin /usr/games

              /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )

       EXLIB = ( Mail.rc aliases aliases.dir aliases.pag  crontab
              sendmail.cf   sendmail.fc  sendmail.hf  sendmail.st
       uucp vfont )

       ${FILES} -> ${HOSTS}
              install -oremove,chknfs ;
              except /usr/lib/${EXLIB} ;
              except /usr/games/lib ;
              special /usr/lib/sendmail "/usr/lib/sendmail -bz" ;

       srcs: /usr/src/bin -> arpa
              except_pat ( \\.o\$ /SCCS\$ ) ;

       IMAGEN = (ips dviimp catdvi)

       imagen: /usr/local/${IMAGEN} -> arpa
              install /usr/local/lib ;
              notify ralph ;

       ${FILES} :: stamp.cory
              notify root@cory ;

NOTES    [Toc]    [Back]

       If the basename of a file (the last component in the pathname)
 is (period), nrdist assumes the remote (destination)
       name  is a directory. For example, /tmp/.  means that /tmp
       is a directory on the remote host.

       The following options are still recognized  for  backwards

       -v -N -O -q -b -r -R -s -w -y -h -i -x


       Name of temporary directory to use.  Default is /tmp.

FILES    [Toc]    [Back]

       Input command file.  Temporary file for update lists.

SEE ALSO    [Toc]    [Back]

       Commands:  sh(1), csh(1), rdist(1)

       Functions:  stat(2), rcmd(3)

[ Back ]
 Similar pages
Name OS Title
rdist HP-UX remote file distribution program
oldrdist OpenBSD remote file distribution program
ordist IRIX remote file distribution program
rdistd Tru64 Remote file distribution server program
rdistd IRIX remote file distribution server program
rdistd OpenBSD remote file distribution server program
slogin OpenBSD OpenSSH SSH client (remote login program)
ssh OpenBSD OpenSSH SSH client (remote login program)
ssh FreeBSD OpenSSH SSH client (remote login program)
slogin FreeBSD OpenSSH SSH client (remote login program)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service