                         
                             BRU 14.2 Release Notes

This is the release version of BRU 14.2. This file contains important 
information about the new features in release 14.2.  Please read it as
it covers features that are not currently discussed in the BRU manual.

The following features have been added to BRU for this release:

o  Control of backup and restore of files at or below a given directory 
   level (-U)
o  Translation of names or paths on restore (-T) "Translate on Restore(TM)"
o  Support for RAW database partitions (-r)
o  Creation of an archive list that is stored on the tape for easier
   file parsing without scanning the entire backup set (-G and -gg)
o  Placement of small files into headers to reduce overall tape usage
   and provide related performance enhancements (average of 25% on
   most systems)
o  Improved symbolic link intelligence
o  Improved data compression using 16 bit compression scheme
o  Tape labelling on EACH volume of a multivolume backup
o  SmartRestore(TM) prevents system crashes if restoring active files or
   open shared libraries
o  More flexible pattern matching on selective backup and restore using the
   MATCHLEVEL Environment or global BRUTAB variable
o  Option to compare a tape label with a given label (at the command line)
   to ensure proper tape is used for restore (-L)
o  Add -Q option to provide additional, single run, modifiations to the
   BRU execution.
o  Addition of new Environment variables and Global variables for easier 
   option specifications 

NEW 14.2 CONTROL OPTIONS

	-G	   Create an archive contents listing (directory) that can 
		   then be read without scanning the entire tape.  Use -gg to 
		   read this contents file.  This file is stored at the 
		   beginning of the tape with the name "Archive File List".

	The only problem with using this option is in that if a backup
	operation does not complete, for whatever reason, the information in
	this file will only be correct to the point prior to the premature
	end of the backup.  Additionally, differences between this list and
	the actual contents can occur if there are file addition or deletions
	before the backup completes.

	--------------------

	-L str (c) In create mode, label tape with given string 
		   (63 char max).
	-L file	   In create mode, the first 63 characters in file are used
		   as the label for the archive members.  In extract mode
		   the first 63 characters within file are used for the
		   comparison as described below.
	-L str (x) In extract mode, only restore if the label of the 
		   archive EXACTLY matches the given string.  If the string
		   does not match on the initial tape, the operation 
		   aborts.  If the label does not match on subsequent
		   tapes, a warning is issued, but the extraction
		   continues.

	--------------------
	
	-r rawdev  This enables BRU to backup or restore raw data partitions.  
		   A BRURAW file must exist and contain entries that define
		   the raw data to be accessed.  See the discussion of the
		   BRURAW global variable below for information on the BRURAW
		   file and location.  The file contains entries of
		   the format:
	
		   Raw Device Name	Size	Blk Size  Starting Offset
		   ---------------      ----    --------  ---------------
	a sample entry would be:
		   /dev/rfd0135ds9	720k	512		0

		   An entry MUST exist in the BRURAW file or bru will abort
		   the operation with an error message.

	--------------------

	-T file	   Translate on restore - rename or relocate files based on
		   the contents of a translation file.  The file can be any 
		   file name.  It is an ASCII text file which contains
		   two columns - all files that contain the text in column 1
		   will have that text translated to the text in column 2.
		   
		*  It is important to note that there can be NO empty fields
		*  in this file.  You MUST provide both columns for each
  		*  line in the translation file.
		   
		   This translation applies to directories, names and 
		   extensions.  By default, symbolic links will not be
		   translated.  See the -Q option below.  Translate works 
		   with all BRU modes except create (-c).

	To restore all of the files in /home/bob to /home/ted, you would 
	use:

	/home/bob	/home/ted

	No further interaction is required by the user.  Also multiple
	translations can occur within a single restore.  We could perform
	both of the above translations and others by placing the columns 
	into a single translation file as follows:

	/home/bob	/home/ted
	/usr/lib	/usr2/lib
	/home		/u2
		...etc

	The translation file can contain as many translation lines as 
	necessary, but each line must consist of a balanced pair of entries.

	--------------------

	-Q HLRSV   Changes default BRU operation as described below:
	
		H  This turns off placing small files into tape headers.
		   Using this option allows you to create BRU tapes that
		   are compatible with versions of BRU prior to 14.2
		
		L  Use a literal string as a tape label.  This overrides
		   BRU's attempt to look for a file from which to read the
		   tape label.  This can be useful if you have a file that
		   is the same name as the label you wish to apply.

		R  Disable SmartRestore.  This turns off BRU's handling of
		   open or shared files.  It is not recommended that you 
		   override this setting.

		S  Translate Symbolic Links.  Used in conjunction with the -T
		   option (see above) will force the translation of symbolic 
		   links.

		V  Ignore "Incorrect Volume" warnings.  When restoring from a 
		   multi-tape set or beginning a restore from other than the
		   first tape in a set, use of this option will prevent the
		   normal warning about having the incorrect volume and 
		   continue with the restore.

NEW 14.2 FILE SELECTION OPTIONS

	-U #	   Selection depth for backup or restore of files in relation
		   to the current directory depth.  Files more than (#) levels
		   Under this level will not be processed.

	For example, if the current directory is /home/ted, -U0 (zero) will 
	only backup the files and directory nodes in the /home/ted directory.  
	While the directory nodes will be backed up, any files in directories 
	off of this level will not be backed up.  With a level of 2, BRU will
	backup files in /home/ted/test, /home/ted/test/runone,
	/home/test/runtwo, but not in /home/ted/test/runone/demo1.

	This same feature works for restoring files and directory trees as
	well.

NEW AND EXISTING ENVIRONMENT/GLOBAL BRUTAB VARIABLES

	The following BRU variables may be defined as environment variables
	or listed in the BRUTAB file.  If they are pecified in the BRUTAB file,
	each parameter must be on a separate line and begin with the character
	sequence "#+".  Note that these are NOT comments.

	#+GLOBALNAME=variable

	Environment variables override the settings in the BRUTAB file.

	SHELL=file      				Default /bin/sh

	This variable points to your command shell.  This shell is used
	when BRU spawns a task for running other tasks such as switching
	tapes in a loader.

	---

	RECYCLEDAYS=#					Default 0

	The days a tape must age before bru will overwrite its contents
	with no warning to the operator.  OVERWRITEPROTECT must be enabled
	for this option to work.

	---

	OVERWRITEPROTECT=[YES|NO]			Default YES

	If OVERWRITEPROTECT is enabled (YES), then BRU will read the tape
	label before attempting to write to the tape.  BRU will then compare 
	the value of of the RECYCLEDAYS variable as a comparison against the 
	age of the tape to be written to.  If the age of the tape is less 
	than RECYCLEDAYS, an overwrite protect warning will be issued.

	OVERWRITEPROTECT only works with tapes written by BRU.  Also, when 
	used in conjunction with the MAXWRITES variable, OVERWRITEPROTECT
	offers a level of tape management giving you an indication of when
	a specific tape should be removed from rotation.

	---

	BRUTABONLY=[YES|NO]				Default NO

	This tells BRU to limit acceptable archive destinations to those 
	listed in the brutab file.  If set to YES, only devices in the brutab
	file will be allowed for write access.  Does not effect reads.  

	---

	DEVNAMECHECK=[YES|NO]				Default NO

	DEVNAMECHECK causes BRU to perform a "sanity check" on the device
	name to prevent the creation of a large file in the /dev directory.
	If BRUTABONLY is YES, then this option is inactive.

	---

	MATCHLEVEL=#					Default 2

	MATCHLEVEL determines the level of pathname matching performed by
	bru during a backup or restore operation.  A level of 0 will only
	match the exact pathname entered (i.e.: /tmp/123 will not match
	./tmp/123 or tmp/123, only /tmp/123).  A level of 1 will match
	relative pathnames that mean the same path (i.e.: tmp/123 will
	match itself and ./tmp/123, but not /tmp/123 (unless you are in
	root)).  Level 3 will match any similar pathname (tmp/123 will 
	match /tmp/123, tmp/123 and ./tmp/123).

	---

	MAXFILENAMELEN=#				Default 255

	MAXFILENAMELEN should not be set to a value larger than the legal
	filename length for your filesystem.  Most modern filesystems can
	handle a 255 character name, but many older systems may have a 14
	character filename limit.

	---

	MAXWRITES=#					Default 1000

	This option works in conjunction with OVERWRITEPROTECT and allows
	you to limit the number of times a specific piece of media (tape) 
	can be used before it is recommended for removal from tape rotation.
	Recommendations for various tape types are given below:

	    1/4" DC6000 carts	100
	    4mm DAT		200
	    8mm Exabyte		50 for non-MP (Metal Particle), 
				150 for MP tapes
	    1/2" Reel		250
	    1/2" DLT		250

	While many of these media types are rated to allow for many more 
	passes than the numbers shown above, we believe that your data is 
	too important to stretch tape usage to the maximum values of media 
	manufacturers.

	---

	READCHECKLEVEL=[0|1|2]				Default 1

	On many NFS mounted volumes, it isn't possible for BRU to easily 
	determine if a file is locked.  To prevent excessive read errors
	or a hang condition, BRU will pre-read files to check for a lock
	state.  A 0 means no pre-read, a 1 means pre-read only files that
	appear to be locked and a 2 means to pre-read ALL files (which can
	slow your backup performance).

	---

	ZBUFSIZE=#[b|B|k|K|m|M]				Default 500K

	This is the size of the compression buffer allocated by bru for
	use when compressing or decompressing files.  Allocating a larger
	buffer may increase backup performance depending on your system.

	---

	BRUHELP=file					Default "/bru/bruhelp"

	This variable points to the location and name of THIS file.

	---

	BRUMAXWARNINGS=#				Default 1000

	This is the maximum number of warnings that bru will report before
	aborting the current operation.

	---

	BRUMAXERRORS=#					Default 500

	This is the maximum number of errors that bru will report before 
	aborting the current operation.

	---

	BRUXPAT=file					Default"/etc/bruxpat"

	This is the name and location of the bru exclusion file.  Paths
	and files listed in this file will be excluded from backup or
	restore if the -X option is placed in the bru command line.

	---

	BRURAW=file					Default "/etc/bruraw"

	This is the name and location of the file containing legal raw data
	partitions to be backed up or restored by bru.  When using the -r
	option on the command line, bru will examine the contents of this
	file before performing the backup or restore operation.  If there is
	no match, bru will abort the operation.

	---

	BRUSMARTREST=file			Default "/etc/brusmartrest"

	This is the name and location of the SmartRestore file.  Files
	listed in this file will be handled as open and restored using a
	protected method, alleviating the problem of restoring over an
	open file or shared library.

	---

	BRUREMOVELOG=file			Default "/usr/adm/bruremovelog"

	This is the name and location of the results of a SmartRestore.  In
	the event that a restored file's "text busy" flag was set, we rename
	the original file and then restore the appropriate file.  As a result,
	we create a sh script that will clean up the old, renamed files.  If
	you are creating scripts to run BRU, it is a good idea to exec this
	file as the last stage of any restore that is performed.

	---
	
	BRUTMPDIR=directory				Default "/usr/tmp"

	This is the file that is used for temporary I/O space by bru during
	the creation of the archive directories when using the -G option.
	BRU removes any files it created in this directory after the operation 
	is completed.

	---

				END OF FILE

