nrdist man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

nrdist(1)							     nrdist(1)

NAME
       nrdist - Remote file distribution client program

SYNOPSIS
       /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
       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  pro‐
       cesses.	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 MES‐
       SAGE LOGGING for details on the syntax for logopts.  Sets  remote  log‐
       ging  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	debug‐
       ging 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 maintain‐
       ing 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.  Nor‐
       mally  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
       The  nrdist  command is a program to maintain identical copies of files
       over multiple hosts. It preserves the owner, group, mode, and modifica‐
       tion time of files if possible and can update programs that are execut‐
       ing. 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
       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  for‐
       mat: file=filename=types.

	      For example, file=/tmp/rdist.log=all,debug.  Uses the syslogd(8)
	      facility.	 Uses the internal nrdist notify facility. This facil‐
	      ity 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 mes‐
       sage  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.	  Gen‐
       eral  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  mes‐
       sages  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
       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>	 ->  <destina‐
       tion_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 des‐
       tination_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 for‐
       mat) 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 other‐
       wise ignored. Comments begin with a # (number sign) and end with a new‐
       line.

       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  destina‐
       tion_list,  you must enclose each address with the [] (bracket) charac‐
       ters.

       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  destina‐
       tion  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. Direc‐
       tories are recursively copied in the same way. The opt_dest_name	 argu‐
       ment  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 pat‐
       tern_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  charac‐
       ters.   To  include a $ (dollar sign), it must be escaped with \ (back‐
       slash).

       The special command is used to specify sh commands that are to be  exe‐
       cuted  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 exe‐
       cuted 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 exe‐
       cuted in the user's home directory on the host being updated. The  spe‐
       cial  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 ; (semi‐
       colon).

       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 host.

       The following is an example of a distfile:

       HOSTS = ( matisse root@arpa)

       FILES = ( /bin /lib /usr/bin /usr/games
	      /usr/include/{*.h,{stand,sys,vax*,pascal,machine}/*.h}
	      /usr/lib /usr/man/man? /usr/ucb /usr/local/rdist )

       EXLIB = ( Mail.rc aliases aliases.dir aliases.pag crontab dshrc
	      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
       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 compatibility:

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

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

FILES
       Input command file.  Temporary file for update lists.

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

       Functions:  stat(2), rcmd(3)

								     nrdist(1)
[top]

List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net