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

  man pages->IRIX man pages -> ordist (1)              
Title
Content
Arch
Section
 

Contents


ordist(1c)							    ordist(1c)


NAME    [Toc]    [Back]

     ordist - remote file distribution program

SYNOPSIS    [Toc]    [Back]

     ordist [-nqbRhivwyD] [-f distfile]	[-d var=value] [-m host] [name...]
     ordist [-nqbRhivwyD] -c name ...  [login@]host[:dest]

DESCRIPTION    [Toc]    [Back]

     Ordist is a program to maintain identical copies of files over multiple
     hosts. It preserves the owner, group, mode, and mtime of files if
     possible and can update programs that are executing.  Ordist reads
     commands from distfile to direct the updating of files and/or
     directories.  If distfile is `-', the standard input is used.  If no -f
     option is present,	the program looks first	for `distfile',	then
     `Distfile'	to use as the input.  If no names are specified	on the command
     line, ordist will update all of the files and directories listed in
     distfile.	Otherwise, the argument	is taken to be the name	of a file to
     be	updated	or the label of	a command to execute. If label and file	names
     conflict, it is assumed to	be a label.  These may be used together	to
     update specific files using specific commands.

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

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


     Other options:

     -d	  Define var to	have value.  The -d option is used to define or
	  override variable definitions	in the distfile.  Value	can be the
	  empty	string,	one name, or a list of names surrounded	by parentheses
	  and separated	by tabs	and/or spaces.

     -m	  Limit	which machines are to be updated. Multiple -m arguments	can be
	  given	to limit updates to a subset of	the hosts listed the distfile.

     -n	  Print	the commands without executing them. This option is useful for
	  debugging distfile.

     -q	  Quiet	mode. Files that are being modified are	normally printed on
	  standard output. The -q option suppresses this.

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

     -h	  Follow symbolic links. Copy the file that the	link points to rather
	  than the link	itself.




									Page 1






ordist(1c)							    ordist(1c)



     -i	  Ignore unresolved links.  Ordist will	normally try to	maintain the
	  link structure of files being	transferred and	warn the user if all
	  the links cannot be found.

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

     -w	  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, renaming a list of files such	as ( dir1/f1
	  dir2/f2 ) to dir3 would create files dir3/dir1/f1 and	dir3/dir2/f2
	  instead of dir3/f1 and dir3/f2.

     -y	  Younger mode.	Files are normally updated if their mtime and size
	  (see stat(2))	disagree. The -y option	causes ordist 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.

     -b	  Binary comparison. Perform a binary comparison and update files if
	  they differ rather than comparing dates and sizes.

     -D	  Print	debugging messages.

     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> `::'	<time_stamp 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 and/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 time	stamp 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 `#' and end with a newline.





									Page 2






ordist(1c)							    ordist(1c)



     Variables to be expanded begin with `$' followed by one character or a
     name enclosed in curly braces (see	the examples at	the end).

     The source	and destination	lists have the following format:

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

     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 -w option is used with a file name
     that begins with `~', everything except the home directory	is appended to
     the destination name.  File names which do	not begin with `/' or `~' 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 `;'


     The install command is used to copy out of	date files and/or directories.
     Each source file is copied	to each	host in	the destination	list.
     Directories are recursively copied	in the same way.  Opt_dest_name	is an
     optional parameter	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 will be created if they do
     not exist on the remote host.  To help prevent disasters, a non-empty
     directory on a target host	will never be replaced with a regular file or
     a symbolic	link.  However,	under the `-R' option a	non-empty directory
     will be removed if	the corresponding filename is completely absent	on the
     master host.  The options 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.  When specifying several
     options, each one must begin with a hyphen.  For example, use -b -v
     instead of	-bv, which is interpreted as the destination directory.	 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	`@' appears in
     the name, the destination host is appended	to the name (e.g., name1@host,
     name2@host, ...).




									Page 3






ordist(1c)							    ordist(1c)



     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	`$',
     it	must be	escaped	with `\'.

     The special command is used to specify sh(1) 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 then the shell commands will be
     executed for every	file updated or	installed.  The	shell variable `FILE'
     is	set to the current filename before executing the commands in string.
     String starts and ends with `"' and can cross multiple lines in distfile.
     Multiple commands to the shell should be separated	by `;'.	 Commands are
     executed in the user's home directory on the host being updated.  The
     special command can be used to rebuild private databases, etc.  after a
     program has been updated.

     The following is a	small example.

       HOSTS = (sequoia	alic@redwood)

       FILES = (/d1/project/{src,bin,lib,doc,dbm})

       EXLIB = (acct.dir acct.pag)

       ${FILES}	-> ${HOSTS}
		    install -R ;
		    except /d1/project/dbm/${EXLIB} ;
		    special /d1/project/dbm/acct "mkdbm	$FILE" ;

       srcs:
       /d1/project/src -> yosemite
		    except_pat ( \\.o\$	/RCS\$ ) ;

       PROGS = (dog flight arena)

       update:
       /usr/src/demos/${PROGS} -> lassen
		    install /usr/local/demos ;
		    notify bob;

       ${FILES}	:: stamp.shasta
		    notify chuck@shasta	;






									Page 4






ordist(1c)							    ordist(1c)


FILES    [Toc]    [Back]

     distfile	    input command file
     /tmp/rdist*    temporary file for update lists

SEE ALSO    [Toc]    [Back]

      
      
     sh(1), csh(1), stat(2), rdist(1)

DIAGNOSTICS    [Toc]    [Back]

     A complaint about mismatch	of ordist version numbers may really stem from
     some problem with starting	your shell.

BUGS    [Toc]    [Back]

     Source files must reside on the local host	where ordist is	executed.

     There is no easy way to have a special command executed after all files
     in	a directory have been updated.

     Variable expansion	only works for name lists; there should	be a general
     macro facility.

     Ordist aborts on files which have a negative mtime	(before	Jan 1, 1970).

     There should be a `force' option to allow replacement of non-empty
     directories by regular files or symlinks.	A means	of updating file modes
     and owners	of otherwise identical files is	also needed.

     Ordist doesn't interpret properly multiple	options	to the 'install'
     command unless each one begins with a hyphen.

     On	4.3BSD,	the local rdist	expects	the remote rdist to reside in
     /usr/ucb.	On IRIX, it resides in /usr/bsd. To allow the 4.3BSD rdist to
     communicate with the IRIS,	create a symbolic link for /usr/ucb:
	 su
	 ln -s /usr/bsd	 /usr/ucb


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
nrdist Tru64 Remote file distribution client program
rdist OpenBSD remote file distribution client program
rdistd Tru64 Remote file distribution server program
rdistd OpenBSD remote file distribution server program
rdist IRIX remote file distribution client program
rdistd IRIX remote file distribution server program
scp FreeBSD secure copy (remote file copy program)
scp OpenBSD secure copy (remote file copy program)
xon IRIX start an X program on a remote machine
xon Tru64 start an X program on a remote machine
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service