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

  man pages->IRIX man pages -> bru (1)              


bru(1)									bru(1)

NAME    [Toc]    [Back]

     bru - backup and restore utility

SYNOPSIS    [Toc]    [Back]

     bru modes [ control options ] [ selection options ] files

DESCRIPTION    [Toc]    [Back]

     Bru is a UNIX filesystem backup utility with significant enhancements
     over other	more common utilities such as tar, cpio, volcopy, and dd.
     Some of bru's capabilities	include:

	  o  Full or incremental backup	with quick and easy restoration	of
	  o  Multiple physical volumes per archive.
	  o  Data integrity assurance via checksum computation on every
	     archive block.
	  o  Ability to	properly save and restore directories, symbolic	links,
	     block special files, and character	special	files.
	  o  Comparison	of archives with current directory hierarchy.
	  o  Ability to	recover	files from corrupted archives or damaged media
	     with minimal data loss.
	  o  No	inherent maximum archive buffer	size.
	  o  Improved performance through random access	archive	I/O when
	  o  Automatic byte or half word swapping as necessary when reading
	     archives produced on other	machines.
	  o  Recognition of filename generation	patterns in the	same form as
	     the shell for files read from an archive.

     When files	are specified on the command line then the actions to be
     performed are limited to those files.  If a named file is a directory
     then it and all its descendents are used.	If no files are	specified then
     the default for writing archives is all files in and below	the current
     directory.	 The default for reading archives is selection of all files in
     the archive.

     If	``-'' is given instead of files	then the standard input	is read	to
     obtain the	file list.  This is useful in conjunction with the find
     command to	provide	finer control over files selected for backup.
     Obviously this mode is only valid when bru	is not also reading its
     archive from the standard input.

     If	you are	doing backups non-interactively	(for example, via cron,	be
     sure to read the description of the -B option below.

DEFAULTS    [Toc]    [Back]

     Various default parameters, such as archive device	name and size, archive
     buffer size, controlling terminal name, etc.  are system dependent.
     These defaults, along with	version, variant, and other miscellaneous
     internal  information may be discovered via the -h	mode.

     bru assumes the default tape device to be /dev/tape if no tape device is

									Page 1

bru(1)									bru(1)

     specified using the -f option.  For this to work correctly, /dev/tape
     should be linked to the actual tape device, for ex.  /dev/mt/tps0d6. Also
     there should be an	appropriate entry for /dev/mt/tps0d6 in	the
     /etc/brutab file.

MODES    [Toc]    [Back]

     One or more of the	following modes	must be	specified.  The	order of
     execution,	from highest priority to lowest, is ecitxdgh.

     -c	       Create a	new archive.  Forces a new archive to be created
	       regardless of whether one currently exists.  Writing starts at
	       the first block.

     -d	       Differences between archived files and current files are
	       detected	and reported.  May be specified	more than once,	as -dd
	       -ddd or -dddd to	control	level of difference checking.

	       When specified as -d bru	reports	when it	discovers that a
	       regular file's size (st_size) or	contents (when compared	as
	       byte streams) has changed since the archive was made.

	       When specified as -dd bru reports additional differences	in
	       modification date (st_mtime) access mode	(st_mode), number of
	       links (st_nlink)	for non-directory files, differences in	the
	       contents	of symbolic links, owner id (st_uid), and group	id

	       When specified as -ddd bru reports additional differences in
	       host device (st_dev), major/minor device	(st_rdev) for special
	       files, and time of last access (st_atime) for regular files.

	       When specified as -dddd bru reports all differences except time
	       of last status change (st_ctime is not resettable), major/minor
	       device numbers for non-special files (meaningless), and size
	       differences for directory files (may have empty entries).  The
	       -dddd mode is generally only meaningful during a	verification
	       pass with full backups of quiescent filesystems.

     -e	       Estimate	media requirements for archive creation	with same
	       arguments.  Prints estimated number of volumes, number of files
	       to be archived, total number of archive blocks, and total size
	       of archive in kilobytes.	 If the	media size is unknown,
	       unspecified, or set to 0	via the	-s flag	or the brutab file, it
	       is assumed to be	infinite.  The -Z flag may also	be given.  If
	       used, every file	that would be backed up	will be	compressed to
	       a temporary file, which may slow	down the estimation
	       considerably.  When -Z,-c and -e	are all	used, each file	will
	       be compressed twice, once during	the estimation pass, and once
	       while writing to	the archive.

									Page 2

bru(1)									bru(1)

     -g	       Dump archive info block in a form more easily parsed by
	       programs	implementing a complete	filesystem management package.
	       Performs	no other archive actions.  Note: when used with	-t,
	       and the rewind tape device, this	information is printed after
	       the file	list.  This option will	not work when used with	-t if
	       the norewind tape device	is used, since bru expects to be
	       positioned at the beginning of the tape archive after the tape
	       device is closed.  When a number	of bru archives	are written to
	       the same	tape, a	sequence like that below will work correctly
	       (where #	is the position	of a particular	archive	set), listing
	       first the label information, and	then the files in the same

	       mt fsf #
	       bru -vgf	/dev/nrtape
	       mt bsf 1
	       bru -vtf	/dev/nrtape

     -h	  Print	help summary of	options.  Also prints some internal
	  information such as version number and default values	for archive
	  pathname, media size,	archive	buffer size, etc.

     -i	  Inspect archive for internal consistency and data integrity.	When
	  -vv option is	also given, prints information from archive header

     -t	  List table of	contents of archive.  When used	with the -v option
	  will give a verbose table of contents	in the same format as the ``ls
	  -l'' command.	 When used with	the -vv	option will also indicate what
	  files	are linked to other files, and where symbolic links point to.

     -x	  Extract named	files from archive.  If	an archived file is extracted
	  (see -u option) then the access mode,	device id (special files
	  only), owner uid, group uid, access time, and	modification time are
	  also restored.  If the -C flag is given (see below), then the	owner
	  uid and group	uid will be changed to that of the current user.

	  Nonexistent directories are recreated	from archived directories if
	  possible, otherwise they are created with appropriate	defaults for
	  the current user.  Extracted or created directories are initially

     Many of the control options are similar in	function to their tar or cpio

     Sizes are specified in bytes.  The	scale factors M, k, or b, can be used
     to	indicate multiplication	by 2**20, 1024,	or 512 respectively.  Thus
     ``10k'', ``20b'', and ``10240'' all specify the same number of bytes.

									Page 3

bru(1)									bru(1)

     -a	  Do not update	the access times of disk files that have been read
	  while	performing other actions.  Normally bru	restores the access
	  and modification times of disk files after they have been read to
	  the access and modification times to whatever	they were before the
	  read operation.  Restoring the times prevents	defeat of the
	  mechanism used to track down and remove ``dead'' files that haven't
	  been accessed	in any meaningful way recently.	 Note that this	has
	  the side effect that backup programs such as dump(1m)	will backup
	  the file, since the ctime of the file	will have been modified; use
	  of -a	is therefore recommended when using dump as your system	backup
	  utility.  Use	of -a will also	slightly speed up backups, since the
	  inode	will not be written.

     -b	bsize
	  Use bsize as the archive input/output	buffer size.  The minimum is
	  the size of an archive block (2k or 2048 bytes) and the maximum is
	  determined by	available memory and I/O device	limitations.  If bsize
	  is not an even multiple of 2048 bytes, it will be rounded up.
	  Normally this	option is only required	with the -c mode since bru
	  writes this information in the archive header	block.	If specified,
	  bsize	overrides any existing default value (generally	20k), whether
	  built	in or read from	the archive header.

     -B	  Useful in shell scripts where	bru is run in the background with no
	  operator present or not possible, such as when there is no
	  controlling terminal,	causing	an open	of /dev/tty to fail.  Under
	  these	conditions, bru	simply terminates with appropriate error
	  messages and status, rather than attempting interaction with the
	  terminal.  With this option, bru will	exit, rather than try to open
	  the controlling terminal.  In	this case, the entire backup must fit
	  on a single tape or other media, as there is no way to ask for a
	  media	change.

     -C	  Change the owner (chown) and group of	each extracted file to the
	  owner	uid and	group gid of the current user.	Normally, bru will
	  restore the owner and	group to those recorded	in the archive.	 This
	  flag causes bru to follow the	system default,	with extracted files
	  having the same owner	and group as the user running bru, including

	  The -C option	is useful with archives	imported from other systems.
	  In general, it should	not be used by the operator or system
	  administrator	when restoring saved files.  Use the -tv option	to see
	  the owner and	group of files stored in the archive.

     -D	  This option is not implemented, but is still accepted	for backward
	  compatibility	with scripts that may use it.

     -f	path
	  Use path as the archive file instead of the default.	If the path is
	  ``-''	then bru uses the standard input for archive reading or
	  standard output for archive writing, as appropriate.	If the path is

									Page 4

bru(1)									bru(1)

	  remote then it needs to be specified as [user@]system:/dev/???
	  The <user@> part of the path is optional, and	if none	is specified
	  then the user's login	is used.  The login has	to be equivalently
	  mapped to the	remote machine if it has a password.

     -F	  Fast mode.  In fast mode, checksum computations and comparisons are
	  disabled.  This mode is useful when the output of one	bru is piped
	  to the input of another bru, or when the data	integrity of the
	  archive transmission medium is essentially perfect.  Archives
	  recorded with	fast mode enabled must also be read with fast mode.
	  Also,	be aware that some of the automatic features of	bru, such as
	  automatic byte swapping, are not functional in fast mode.

     -j	  Convert absolute pathnames to	"."  relative pathnames.  This option
	  applies only to the -x mode.

     -X	  Echo relative	pathnames as absolute pathnames.  This option only
	  valid	when used in conjunction with the -x, -j and -v	options.

     -L	str
	  Label	the archive with the specified string str.  Str	is limited to
	  63 characters	and is usually some meaningful reminder	pertaining to
	  the archive contents.

     -l	  Ignore unresolved links.  Normally bru reports problems with
	  unresolved links (both regular and symbolic links).  This option
	  suppresses all such complaints.

     -m	  Do not cross mounted filesystem boundaries during expansion of
	  explicitly named directories.	 This option applies only to
	  directories named in files.  It limits selection of directory
	  descendents to those located on the same filesystem as the
	  explicitly named directory.  This option currently applies only to
	  the -c and -e	modes.

     -p	  Pass over files in archive by	reading	rather than seeking.  Normally
	  bru will use random access capabilities if available.	 This option
	  forces reading instead of seeks.

     -R	  Remote files are to be excluded from the archive (unless explicitly
	  listed on the	command	line; remote directories on the	command	line
	  are backed up	as a directory,	but files, subdirectories, etc.
	  therein will not be backed up).  Filesystems such as the proc(4)
	  filesystem are considered to not be local, based on the information
	  returned by the statvfs(2) system call.

     -s	msize
	  Use msize as the media size.	The effective media size will be
	  computed from	msize since it must be integral	multiple of the
	  input/output buffer size (see	the -b option).	 Normally this option
	  is only required with	the -c or -e flags since bru writes this
	  information in the archive header block.  If specified, msize

									Page 5

bru(1)									bru(1)

	  overrides any	existing default value,	whether	built in, read from
	  the brutab file, or read from	the archive header.  If	set to 0, the
	  tape is assumed to be	infinite in length, and	the archive is written
	  until	an error occurs, at which time a new volume is prompted	for.

     -v	  Enable verbose mode.	May be specified more than once, as -vv, -vvv,
	  or -vvvv, to get even	more verbosity.

     -w	  Wait for confirmation.  Bru will print the filename, the action to
	  be taken, and	wait for confirmation.	Any response beginning with
	  'y' will cause the action to complete.  Any other response will
	  abort	the action.

     -Z	  Use 12-bit LZW file compression.  This is not	the default because
	  not all versions of bru know how to deal with	compressed files.
	  When the -v option is	also selected, the compression ratio for each
	  file is printed as a percentage.  When this flag is used in
	  conjunction with the -t option on an archive that contains
	  compressed file, the actual archive file sizes and names are
	  printed, rather than the original values before archiving.  Files
	  are compressed into a	temporary file in a directory given by the
	  BRUTMPDIR environment	variable.  If not given, /usr/tmp is used.

     -K	  Required to archive files larger than	2 Gigabytes.  Bru will issue a
	  warning and skip such	files if the -K	flag is	not specified.	Must
	  be used in conjunction with the -Z flag.  If Bru can compress	the
	  file to a size smaller than 2	Gigabytes, the file will be archived.
	  Otherwise, a warning will be issued and the file will	be skipped.


     The file selection	options	control	which files are	selected for
     processing.  Note that some options are only valid	with specific modes.

     -ndate    Select only files newer than date, where	this is	based on the
	       file modification time (see st_mtime in stat(2)); the inode
	       modification time is not	checked.  The date is given in one of
	       the forms:

	       DD-MMM-YY[YY][,HH:MM:SS]	  EX: 12-Mar-84,12:45:00
	       MM/DD/YY[YY][,HH:MM:SS]	  EX: 3/12/84
	       MMDDHHMM[YY[YY]]		  EX: 0312124584
	       pathname			  EX: /etc/lastfullbackup

	       The time	of day is optional in the first	two forms.  If
	       present,	it is separated	from the date with a comma.  If	YY is
	       less than 39, it	is assumed to be in the	range 2000-2039.
	       Otherwise, if less than 100, it is assumed to be	in the range
	       1940-1999.  The resulting year must be in the range 1970-2038.

	       If date is really the pathname of a file, then the modification
	       date of that file will be used instead.	This is	useful in
	       automated backups when a	dummy file is ``touched'' to save the

									Page 6

bru(1)									bru(1)

	       date of last backup.

     -o	user   Select only files owned by user.	 User may be specified in one
	       of three	ways:

		    o  As an ascii string corresponding	to a user name in the
		       password	file.
		    o  As the pathname of a file in which case the owner of
		       that file is used.
		    o  As a numeric value (decimal).

     -u	flags  When used in conjunction	with -x	mode, causes files of type
	       specified by flags to be	unconditionally	selected regardless of
	       modification times.  Normally bru will not overwrite
	       (supersede) an existing file with an older archive file of the
	       same name.  Files which are not superseded will give warnings
	       if verbose mode level 2 (-vv) or	higher is enabled.  Possible
	       characters for flags are:

		    b	 select	block special files
		    c	 select	character special files
		    d	 select	directories
		    l	 select	symbolic links
		    p	 select	fifos (named pipes)
		    r	 select	regular	files

	       Selection of directories	only implies that their	attributes may
	       be modified.  Existing directories are never overwritten, this
	       option merely allows their attributes to	be set back to some
	       previously existing state.

	       Selection of symbolic links only	implies	that the contents of
	       the link	will be	modified.  It is currently impossible to
	       change access time, modification	time, or the file mode of a
	       symbolic	link.

EXAMPLES    [Toc]    [Back]

     Create (-c) a new archive of all files under ``/usr/src'',	writing
     archive to	file (-f) ``/dev/rmt0''	using multiple tapes with a maximum
     size (-s) of 30 megabytes per tape.

	  bru -c -f /dev/rmt0 -s 30M /usr/src

     Create (-c) a new archive on the default device in	the first pass,
     archiving all files in and	below the current directory which have been
     created or	modified (-n) since 3 P.M.  on 14-Jan-84.  Then	do a second
     pass to verify that there are no differences (-d) between the archive and
     current files.  Each file is listed (-v) as it is processed.

	  bru -cvd -n 14-Jan-84,15:00:00

									Page 7

bru(1)									bru(1)

     Archive all files owned (-o) by user ``user1'' using the default archive

	  find / -user user1 -print | bru -c -
	  bru -c -o user1 /

     Copy a directory hierarchy	from ``/usr/u1'' to ``/usr/u2''.

	  (cd /usr/u1; bru -cf - ) | (cd /usr/u2; bru -xf -)

     Extract (-x) the regular file ``/usr/guest/myfile'' unconditionally (-ur)
     from an archive on	file (-f) ``/dev/rf0''.	 Since the device size was
     recorded in the header block, it need not be specified.  Note that	option
     arguments do not need to be separated from	their corresponding option
     flag by whitespace.

	  bru -x -ur -f/dev/rf0	./usr/guest/myfile

     Extract (-x) all C	source files in	``/usr/src/cmd'' that have names
     beginning with characters 'a' through 'm'.	 Wait (-w) for confirmation
     before extracting each file.

	  bru -xw '/usr/src/cmd/[a-m]*.c'

     Inspect (-i) a previously created archive on the default device, dumping
     the contents of the header	block for inspection (-vvv) and	verifying
     internal consistency and data integrity of	the archive.

	  bru -ivvv

     Back up the entire	root filesystem	without	crossing mounted (-m)
     filesystem	boundaries.  The archive will be written to file (-f)
     ``/dev/rmt0'' using an I/O	buffer size (-b) of 10k	bytes.

	  cd /
	  bru -cvm -f /dev/rmt0	-b 10k

DIAGNOSTICS    [Toc]    [Back]

     Most diagnostics are reasonably informative.  The most common have	to do
     with meaningless combinations of options, incompatible options, hitting
     memory or device limits, unresolved file links, trying to archive or
     restore something to which	access is normally denied, or problems with
     media errors and/or archive corruption.

DEVICE TABLE    [Toc]    [Back]

     Bru contains an internal table of known devices and their
     characteristics.  This table is dynamically loaded	from a data file
     specified by the environment variable BRUTAB, or from /etc/brutab,	or
     from an internal default description if neither of	the preceding is

									Page 8

bru(1)									bru(1)

     The format	of the bru data	file for loadable devices is as	follows.  Note
     that the table MUST contain at least one entry and	the first entry	is the
     default archive device.

     Also, the table should contain an entry for the standard input and
     output, with a name of "-".

     Entries consist of	a device name field, followed by one or	more
     capabilities fields.  Entries may span more than one line by escaping the
     newline at	the end	of the line with a '\' character ('\' is last
     character on line before newline).	 All whitespace	(tabs, blanks,
     newlines, formfeeds) between fields is ignored.

     The device	name field must	be the first field in the entry	and has	the
     following form:

	  <device name>|<device	name>| ... |<device name>

	  example:  /dev/rmt[0-2]|/dev/mt[0-2]

     where each	device has the same capabilities as the	other devices
     specified (a class	of devices).  Regular expressions as described in
     regexp(3) may be used.

     Each capability field is of the form:

	  <capability name>=<value>  or	 <boolean flag>

	  example:  size=640K	REOPEN	pwerr=EIO

     Note that there can be no whitespace between the capability name and the
     value.  Note that a size of 0 is treated specially, see the -s flag
     description above.	 Numeric values	may be given in	absolute form or with
     a trailing	scale factor of:

	  b or B		  Blocks (512 bytes)
	  k or K		  Kilobytes (1024 bytes)
	  m or M		  Megabytes (1024 * 1024 bytes)

     Error numbers may be given	in absolute or symbolic	form, as defined in

     Currently used capabilities include:
     Name	Type	  Meaning
     size	numeric	  media	size in	bytes if known,	zero otherwise
     seek	numeric	  minimum seek resolution, zero	if no seeks allowed
     prerr	numeric	  errno	for partial reads
     pwerr	numeric	  errno	for partial writes
     zrerr	numeric	  errno	for zero reads
     zwerr	numeric	  errno	for zero writes

									Page 9

bru(1)									bru(1)

     frerr	numeric	  errno	for read of unformatted	media
     fwerr	numeric	  errno	for write of unformatted media
     wperr	numeric	  errno	for write protected media
     reopen	boolean	  close	and reopen archive upon	media switch
     noreopen	boolean	  no close and reopen archive upon media switch
     tape	boolean	  archive device is a tape drive
     rawtape	boolean	  archive device is a "raw" tape drive
			  used primarily with devices that support
			  multiple block sizes
     norewind	boolean	  closing does not automatically rewind
     advance	boolean	  read/writes advance media even when errors occur

     For instance, an excerpt from /etc/brutab for SCSI	tapedrives is:

     /dev/r*mt/tps[0-9]d[1-7]nr* \
	     size=0K seek=0 \
	     prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
	     wperr=EROFS norewind reopen tape rawtape advance
     /dev/r*mt/tps[0-9]d[1-7]* \
	     size=0K seek=0 \
	     prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
	     wperr=EROFS reopen	tape rawtape advance
     #	     This entry	is a generic entry for stdin and stdout.
     - size=0 seek=0 prerr=0 pwerr=0 zrerr=0 zwerr=0 frerr=0 fwerr=0 wperr=0

     The internal table	that is	used if	no file	can be found is:

     /dev/tape*	\
	     size=0k seek=0 \
	     prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
	     wperr=EROFS reopen	tape rawtape advance
     /dev/nrtape* \
	     size=0k seek=0 \
	     prerr=EIO pwerr=EIO zrerr=ENOSPC zwerr=ENOSPC frerr=0 fwerr=0 \
	     wperr=EROFS norewind reopen tape rawtape advance

SIGNAL HANDLING    [Toc]    [Back]

     Bru normally catches both interrupt (SIGINT) and quit (SIGQUIT).  When
     interrupt is caught during	archive	creation or extraction,	bru completes
     its work on the current file before cleaning up and exiting.  This	is the
     normal way	of aborting bru.  When a quit signal is	caught an immediate
     exit is taken.

     Note that during file extraction, a quit signal may leave the last	file
     only partially extracted.	Similarly, a quit signal during	archive
     writing may leave the archive truncated.  When either interrupt or	quit
     is	caught at any other time an immediate exit is taken.

								       Page 10

bru(1)									bru(1)

ERROR RECOVERY    [Toc]    [Back]

     When properly configured for a given software/hardware environment, bru
     can recover from most common errors.  For example,	attempts to use
     unformatted media are detected, allowing substitution of formatted	media.
     Random blocks in an archive can be	deliberately overwritten (corrupted)
     without affecting bru's ability to	recover	data from the rest of the
     archive.  When I/O	errors are detected, retries are performed
     automatically.  Out of order sequencing on	multi-volume archive reads is
     detected, allowing	replacement with the correct volume.

DIRECTORIES    [Toc]    [Back]

     When creating non-incremental archives bru	automatically archives all
     directories necessary to fully restore any	file from the archive.	During
     extraction, any required directories which	do not already exist are
     restored from the archive if possible, otherwise they are created with
     appropriate defaults for the current user.

     The net result is that restoration	from incremental archives (which may
     not contain all necessary directories), or	incremental restoration	from
     full archives (which may skip directories needed later), may result in
     creation of directories with the default attributes.

WILDCARDS    [Toc]    [Back]

     When reading archives bru recognizes filename generation patterns in the
     same format as the	shell.	This allows greater flexibility	in specifying
     files to be extracted, compared, or listed.  As a special extension to
     shell type	expansion, the sense of	the match is reversed for patterns
     that begin	with '!'.

     Note that the patterns may	have to	be quoted to prevent expansion by the
     shell.  Also note that patterns are processed independently, without
     regard for	any other patterns that	may or may not be present.  In
     particular, "/bin/a*  /bin/b*" is equivalent to "/bin/[ab]*", but
     "/bin/!a* /bin/!b*" is equivalent to "/bin/*", not	"/bin/![ab]*".

     While reading archives produced on	other machines,	bru automatically
     attempts to perform byte and/or word swapping as necessary.

     If	no device table	is specified, bru automatically	uses the no-swap tape
     device, which provides higher performance and compatibility with non-byte
     swapped tapes from	other systems.	The IRIS 3000 series does not support
     non-byte swapped tapes, but the automatic byte-swapping capabilities of
     bru will deal with	this problem.

REMOTE TAPE DRIVES    [Toc]    [Back]

     Bru allows	the use	of remote tape drives for the archive device (via the
     -f	option).  A remote tape	drive filename has the form


     where system is the remote	system,	the optional user is the login name to

								       Page 11

bru(1)									bru(1)

     use on the	remote system if different from	the current user's login name,
     and /dev/??? is the tape drive to use (1600 BPI or	800 BPI, raw or
     blocked, rewinding	or non-rewinding, etc.).  In all cases,	the user must
     have the appropriate permissions on the remote system.  (See also the
     CAVEATS section, below.)

EXIT CODES    [Toc]    [Back]

     Bru always	returns	meaningful status as follows:

	  0    Normal exit, no errors or warnings.
	  1    Warnings	(or interrupted).
	  2    Errors (or quit signal).

SEE ALSO    [Toc]    [Back]

     cpio(1), rmt(1M), tar(1), attr(1),	xfsdump(1).


     Bru recognizes special file types that may	be allowed on one type of UNIX
     system, but not on	another.  For instance,	on a 4.2 BSD system, bru will
     extract fifos as plain files (mode	0666, as modified by the umask), and
     issue an appropriate error	message.  Usually, bru will issue two
     messages.	The first message will be the more descriptive of the two.

     Currently,	the only different UNIX	systems	that bru fully understands are
     System V, 4.2 BSD,	and Pyramid's OSx.

CAVEATS    [Toc]    [Back]

     Pathnames are limited to 127 characters in	length.	 This could become a
     chronic problem.

     Implementation differences	complicate the algorithms for automatic
     detection of end of file on devices.  The algorithms can be fooled, hence
     the -s option.

     Special files moved to a machine other than their original	host will
     generally be useless and possibly even dangerous.	This goes double for
     symbolic links.

     When extracting files from	archives, patterns used	to match directories
     may result	in some	unnecessary directories	being extracted.  For example,
     if	the pattern is ``a/*/c'', and the directory ``a/b'' is encountered in
     the archive, the directory	file ``a/b'' will be extracted since it	will
     be	needed when (and if) the file ``a/b/c''	is encountered.	 When in
     doubt, use	the -w option.

     In	order to be able to efficiently	archive	needed directories, bru	builds
     an	image of the directory tree for	files using dynamically	allocated
     memory.  Since there may be at most 5120 characters passed	on the command
     line, it is very unlikely that bru	will run out of	memory while building
     the tree from command line	arguments.  This is not	true of	file lists
     read from the standard input, particularly	on machines with limited
     address space.

								       Page 12

bru(1)									bru(1)

     Information about file linkages is	also kept in memory.  Some linkages
     may be lost if memory is exhausted.

     Since bru is owned	by root	and runs with ``set user id'' to allow it to
     create directories	and special files, it makes every attempt to prevent
     normal users from archiving or extracting files they would	normally not
     have access to.  There may	be loopholes.  Also note that anyone with
     physical or electronic access to an archive, and knowledge	of the archive
     structure,	can recover any	of its contents	by writing their own file
     extraction	program.

     Files within directories which have filesystems mounted on	them will not
     be	properly archived until	the filesystem is unmounted, since the mounted
     filesystem	hides them.  This is not generally a problem.

     Explicitly	naming both a directory	and one	of its descendents will	cause
     the descendent to be archived twice, unless they are on separate
     filesystems and the -m flag is used.

     Explicitly	naming a file more than	once is	ineffective.

     When reading from the raw magnetic	tape file (rmtxxx) bru automatically
     attempts to adjust	the I/O	buffer size to match that used to record the
     archive.  Under certain circumstances it may fail and require help	via
     the -b option.

     Using remote tape drives can be slow.

     Extended Attributes such as file ACL's, capability	sets, and MAC labels
     are not archived or restored using	bru. See attr(1) for more information
     about Extended Attributes and see xfsdump(1m) or tar(1M) with the -M
     option for	a method to back them up.

								       PPPPaaaaggggeeee 11113333
[ Back ]
 Similar pages
Name OS Title
vgcfgrestor HP-UX display or restore LVM volume group configuration from backup file
dgcfgrestor HP-UX display or restore VxVM disk group configuration from backup file
xfsrestore IRIX XFS filesystem incremental restore utility
mkmanifest Tru64 mtools utility to create a shell script to restore UNIX file names from DOS
updadmin Tru64 Invokes the Update Installation Cleanup utility to remove or archive backup files created by an Upda...
unschedBackup IRIX unschedule a backup
rdump OpenBSD filesystem backup
dump OpenBSD filesystem backup
Backup IRIX backup the specified file or directory
changelist OpenBSD list of backup files
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service