rdist man page on DigitalUNIX

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

rdist(1)							      rdist(1)

NAME
       rdist - Maintains identical copies of files on multiple hosts

SYNOPSIS
       rdist  [-bDhinqRvwy]  [-f  distfile  | -] [-d variable=value] [-m host]
       [file...]

       rdist [-bhinqRvwy] -csource... [login@]host[:dest]

       The rdist command maintains  identical  copies  of  files  on  multiple
       hosts.

OPTIONS
       Performs	 a  binary  comparison;	 updates files if they differ.	Forces
       rdist to interpret the remaining arguments as the sources of small dis‐
       tfiles in the following format:

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

	      The  rest	 of  the  command line is treated as if it came from a
	      distfile.	 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.   Defines  variable	to have value.
	      This option defines or overrides	variable  definitions  in  the
	      distfile.	  The  value  can  be the empty string, one name, or a
	      list of names surrounded by parentheses and separated by tabs or
	      spaces,  or both.	 Turns on debugging output.  Specifies another
	      name for distfile; specify - for	standard  input.   Copies  the
	      file  that  the  link  points  to	 rather	 than the link itself.
	      Ignores unresolved links.	 The rdist command maintains the  link
	      structure	 of files being transferred and warns users if it can‐
	      not find all  the	 links.	  Limits  which	 machines  are	to  be
	      updated.	 You  can use multiple host arguments to limit updates
	      to a subset of the hosts listed in distfile.  You can also spec‐
	      ify  an IPv6 address or addresses for host.  Prints the commands
	      without executing them.  This option  is	useful	for  debugging
	      distfile.	  Operates  in	quiet  mode.   This  option suppresses
	      printing of modified file on standard output.  Removes  extrane‐
	      ous 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 identical copies of
	      directories.  Verifies that the files are up to date on all  the
	      hosts.  Any  files  that	are out of date will be displayed, but
	      rdist does not change any files or send any mail.	  Appends  the
	      whole  filename  to  the	destination directory name.  Normally,
	      rdist uses only the last component of a name for renaming files,
	      preserving  the  directory  structure of the copied files.  Pre‐
	      vents recent copies of files from being replaced by  files  that
	      are  not	as recent.  Files are normally updated when their time
	      stamp and size (see stat())  differ.  The	 -y  option   prevents
	      rdist from updating files younger than the master file.

DESCRIPTION
       The  rdist  command  preserves the owner, group, mode, and modification
       time of files if possible. It can also update programs that are execut‐
       ing.  The  rdist	 command  reads	 commands  from distfile in your $HOME
       directory and directs the updating of files or directories, or both. If
       distfile is a - (dash), 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 filenames are specified on the
       command	line, rdist 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 rdist  com‐
       mand treats the filename as a command.

       The  file  specified  by	 distfile  contains a sequence of entries that
       specify the files to be copied, the destination hosts, and what	opera‐
       tions  to perform to do the updating. Each entry has one of the follow‐
       ing 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 were changed since some given date.

       The source_list specifies a list of files or directories, or  both,  on
       the  local host that is 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 that is  being  updated  (second
       format) or the file is newer than timestamp_file (third format).

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

       Newlines, tabs, and spaces 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 { } (braces) (see EXAMPLES).

       Each  line  of  the  source and destination lists contains zero or more
       names, separated by spaces. The shell metacharacters [, ], {, }, *, and
       ?   are	recognized  and expanded (on the local host only) as with csh.
       They can be escaped with a \ (backslash). The ~	(tilde)	 character  is
       also  expanded as with csh, but is expanded separately on the local and
       destination hosts. When the -w option is	 used  with  a	filename  that
       begins  with ~, everything except the home directory is appended to the
       destination name. Filenames that do not begin with a / (slash) or  a  ~
       (tilde) use the destination user's home directory as the root directory
       for the rest of the filename.

       If you want to specify  an  IPv6	 address  or  addresses	 for  destina‐
       tion_list, you must enclose each address with the [ ] (bracket) charac‐
       ters.

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

       install	<option	 ...>  <destination_name>  notify  <name_list>	except
       <name_list> except_pat <pattern_list> special <name_list> string

       The install command is used to copy out of date files  or  directories,
       or  both.  Each	source	file is copied to each host in the destination
       list. Directories are recursively copied in the same way. The  destina‐
       tion_name  is  an optional argument to rename files. If no install com‐
       mand appears in the command list or the destination name is not	speci‐
       fied, the source filename is used.

       Directories  in	the  pathname  are created if they do not exist on the
       remote host. To help prevent disasters, a nonempty directory on a  tar‐
       get host will never be replaced with a regular file or a symbolic link.
       However, under the -R option, a nonempty directory is  removed  if  the
       corresponding filename is completely absent on the master host.

       Options	for  install  are  -R, -h, -i, -v, -w, -y, and -b and have the
       same semantics as options on the command line, except they  only	 apply
       to  the files in the source list.  The username used on the destination
       host is the same as the local host unless the destination  name	is  of
       the format user@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  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 grep for details). If
       one of the patterns matches some string within a filename, that file is
       ignored.	  Note	that since \ (backslash) 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 are executed
       for every file updated or installed.  The FILE shell variable is set to
       the  current  filename  before  executing  the  commands in string. The
       string starts and ends with a " (double quote) and can  cross  multiple
       lines  in  distfile.   Separate multiple commands to the shell with a ;
       (semicolon). Commands are executed in your home directory on  the  host
       being  updated.	 The  special  command	can be used to rebuild private
       databases and so forth after a program is updated.

       If you run the rdist command as a normal user and  any  of  the	target
       hosts  does  not	 allow normal users to run rdist, updates to that host
       will fail with the following error message:

       rdist:  connection failed:  version numbers don't match

EXAMPLES
       The following is a small 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 -R ;
	       except /usr/lib/${EXLIB} ;
	       except /usr/games/lib ;
	       special /usr/sbin/sendmail  "/usr/sbin/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 ;

FILES
       Contains a list of commands to be read by rdist.	 Contains update lists
       temporarily.

DIAGNOSTICS
       A  complaint  about  mismatch  of rdist version numbers may really stem
       from some problem with starting your shell; for example, you are in too
       many groups.

SEE ALSO
       Commands:  csh(1), grep(1), ksh(1), nrdist(1), sh(1)

								      rdist(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