BRU LE for Mac OS X User’s Guide
 
Version 1.3.1
Manual revision 131.12.07-HTML
Copyright © 2004-2007, TOLIS Group, Inc.

Table of Contents

BRU End User License Agreement
LICENSE AGREEMENT
 
This License Agreement ("Agreement"), provided by The TOLIS Group, Inc. ("TOLIS"), governs the use of the object code version of the BRU brand computer software, documentation and materials accompanying this Agreement or otherwise provided in connection herewith (collectively, "Software"), owned by TOLIS, by the person or entity ("Client") that has clicked on the "Agree" button below.  For purposes of this Agreement, Software may be BRU or BRU-LE.
 
*************************************************************
IF YOU DO NOT AGREE WITH THESE TERMS, YOU MUST SELECT THE "DO NOT AGREE" OPTION DURING INSTALLATION AND YOU MUST NOT USE THE SOFTWARE.
*************************************************************
 
1. LICENSE AND USE RESTRICTIONS.
 
Subject to all other terms of this Agreement including the payment of any applicable fees, TOLIS hereby grants to Client a non-exclusive, non-transferable license, without the right to grant sublicenses, to use one (1) copy of the Software solely for Client's own, internal purposes. If the Software is BRU-PE (Personal Edition), this license is granted for non-commercial use only (For purposes of this Agreement, non-commercial use means solely for the personal use of the natural person who is the licensee hereunder). The foregoing license includes the right of Client to make a reasonable number of copies of the computer programs contained in the Software solely for backup and archival purposes; provided, however, that all such copies shall be deemed Software for purposes of this Agreement.  The foregoing license shall terminate immediately and without notice for any breach of this Agreement by Client, including any failure to pay fees when due.  Upon any such termination, Client shall immediately destroy or delete any and all Software and promptly confirm in writing that Client has done so.
 
Transferability to a new computer system is permitted when the original system upon which a given license is currently installed is to be retired, decommissioned, or otherwise taken out of daily utilization by the originally licensed client.  It is permissible to retain use of the licensed software on the original system for a period of overlap required to allow the transfer of data from the original system to the replacement system.  Once the license has been transferred to the replacement system and the replacement system is placed in normal use, the license must be removed from the original system.  At no other time is it allowable to utilize the same software license on two or more different computers at the same time.
 
The Software is and shall remain the sole and exclusive confidential and proprietary property of TOLIS, subject to protection under the intellectual property laws of the United States and those throughout the world.  Client agrees not to use or disclose the Software, during and after the term of this Agreement, except as expressly permitted by this Agreement.  Client further agrees not to modify the Software, remove any notices or markings on the Software, or reverse compile,
reverse assemble, reverse engineer or otherwise attempt to learn or disclose the trade secrets contained in the Software, transfer the Software in whole or in part over a network, or permit any third party to do any of the foregoing.  Nothing in this Agreement shall be construed as conferring any license under any of TOLIS's intellectual property rights, whether by estoppel, implication, or otherwise, except for those licenses expressly granted herein.
 
2. WARRANTY AND DISCLAIMER.
 
TOLIS warrants that for a period of sixty (60) days from the date of receipt by Client of the Software, the media on which the Software was delivered shall be without defects in materials or workmanship.  TOLIS agrees to replace any defective media which is returned to TOLIS within
the foregoing sixty (60) day period.  TOLIS may make available to Client additional services, including updates, enhancements or improvements of or to the Software, under separate written agreement, and for additional payment.
 
THE FOREGOING WARRANTY IS THE ONLY WARRANTY GIVEN HEREUNDER.  EXCEPT AS OTHERWISE PROVIDED ABOVE, THE SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT ANY WARRANTY WHATSOEVER.  ALL EXPRESS, IMPLIED OR STATUTORY CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED.  Some states do not allow the disclaimer of implied warranties, so the foregoing limitations may not apply to you.
 
3. LIMITATION OF LIABILITY.
 
TOLIS SHALL NOT BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES ARISING UNDER THIS AGREEMENT OR IN CONNECTION WITH THE SOFTWARE, REGARDLESS OF WHETHER ADVISED BEFOREHAND OF THE POSSIBILITY OF SUCH DAMAGES.  IN NO EVENT SHALL THE LIABILITY OF TOLIS HEREUNDER EXCEED THE SUM OF ONE HUNDRED DOLLARS ($100), REGARDLESS OF THE CAUSE OF ACTION, IN TORT, CONTRACT OR OTHERWISE.
 
4. GENERAL.
 
Any action related to this Agreement shall be governed by the substantive laws of the State of Arizona, without regard to conflicts of law principles.  The State and Federal courts located in Maricopa County, Arizona, shall have sole jurisdiction over any dispute arising hereunder, and the parties hereby consent to the personal jurisdiction of such courts.  Neither this Agreement, nor any rights hereunder, may be assigned by operation of law or otherwise, in whole in part, by
Client without the prior, written permission of TOLIS.  Any sale of more than fifty percent (50%) of the common voting stock of, or other right to control, Client shall be deemed an assignment.  Any purported assignment without such permission shall be void.  Any waiver of any rights of TOLIS under this Agreement must be in writing, signed by TOLIS, and any such waiver shall not operate as a waiver of any future breach of this Agreement.  In the event any portion of this Agreement is
found to be illegal or unenforceable, such portion shall be severed from this Agreement, and the remaining terms shall be separately enforced.  The parties agree that any breach or threatened breach of this Agreement by Client is likely to cause TOLIS damage that is not fully reparable by payment of damages, and further agree that in such case TOLIS shall be entitled to seek and obtain injunctive or other equitable relief to protect its rights hereunder.  Client's performance hereunder and use of the Software shall at all times comply with all applicable laws, rules and regulations, including those governing export of technical information, and Client shall fully indemnify, defend and hold harmless TOLIS against any violation thereof.  This Agreement is the entire agreement between the parties with respect to this subject matter, and supersedes any and all prior or contemporaneous, conflicting or additional communications, negotiations or agreements.
 
Thank you for doing business with The TOLIS Group, Inc.!
 
The TOLIS Group, Inc.
8687 East Via de Ventura
Suite 115
Scottsdale, AZ  85258
bruinfo@tolisgroup.com
Chapter 1 - Welcome
General Description
BRU (BRU LE for Mac OS X) is a Backup and Restore Utility with significant enhancements over other more common utilities such as tar, cpio, pax, ditto, volcopy and dump. In addition to supporting tape drives and tape autoloaders (which the other tools don’t), BRU is designed for maximum reliability. Dozens of options give it the flexibility to perform almost any kind of backup. It will work with most backup devices, including cartridge, 4mm DAT, 8mm (VXA and AIT), DLT, and LTO tape drives. It is also ideal for data distribution or software updates that use magnetic tape, or other removable media.
NOTE: While we refer to “BRU” in this manual for convenience, the actual command line executable file is named “bru” and the GUI is called “BRU LE” or “BRU LE for Mac OS X”.
BRU Features
Full Backups
Full backups are simply a special case where all files in a given directory hierarchy are backed up. Full backups include all files regardless of their previous backup status.  Full backups are the master against which incremental or differential backups are performed.
Incremental and Differential Backups
BRU can back up all files created or modified since your most recent backup (or any date you specify) both quickly and easily. Because BRU uses the filesystem’s metadata for determining file eligibility for inclusion within a backup, incremental or differential backups can start instantly without the need to compare the status of the current full backup against the state of the filesystem being backed up.  Backups can be limited to a given directory or mounted filesystem. For example, BRU can easily back up files in the root filesystem without descending into any of the filesystems mounted on directories in the root filesystem.
Multi-volume Archives
Archives created using BRU can span more than a single piece of removable media (such as floppy disks and magnetic tape). When the end of the volume is found, BRU asks you to load the next volume. This volume can be on a different drive if you wish, or you can allow BRU to take the default and use the same drive on which the previous volume was mounted. This multi-volume archive feature allows you to archive files that are larger than the capacity of the media on which the archive is being stored. For example, you might archive a 500 Gigabyte filesystem file on several 100 GB AIT-3 tapes.
When using BRU from within scripts or from the command line, it is also possible to tell BRU to use multiple destinations automatically, in a cascade fashion, to create an archive where the multiple volumes are mounted on different physical devices. BRU can select and switch to another output device without operator intervention (not currently included in the BRU LE GUI).
Distribution and Updates
Because it can verify that files written to an archive are complete and intact, BRU is ideal for distributing data or software updates. In addition, BRU can reread a previously recorded archive at any time and verify its internal consistency and data integrity. As of this writing, none of the standard backup utilities available with the UNIX operating system provide anywhere near the level of data integrity checks provided by BRU.
Error Detection and Recovery
Unlike other standard UNIX utilities, BRU is specifically designed to be robust in dealing with errors. Through the use of checksums, redundant information recording, and proprietary error recovery algorithms, BRU is capable of detecting and recovering from a very high percentage of potential data recovery problems.
Customization Features
When BRU runs, it uses an external table of devices (brutab). This table can be modified to describe the capabilities and error responses of your own system’s archive devices. The first entry in the table is the default archive device. If no device is specified on the command line, this is the device BRU uses. The BRU device table makes it easy for you to customize BRU for a variety of different systems. It also lets you simplify the command line when only the default device is to be used.
When the external table is properly configured, BRU can recover from such common user errors as attempting to use an unformatted floppy disk, inserting a floppy disk upside down, or loading an archive tape out of the expected sequence.
Random Access Capabilities
When the archive device supports random access, BRU uses this feature to greatly decrease the access time to any given file in the archive. The performance differences between BRU and other UNIX utilities can be dramatic when reading archives or searching for a given file in an archive.
Tape drives do not have random access capabilities. However, for tape devices that support quick file access (QFA), BRU LE for Mac OS X provides QFA support to speed the process of restoring files.
Special Files
BRU will save and restore all types of filesystems and files with their proper ownership, access attributes, creation dates, and modification dates. BRU can be used to move an entire directory hierarchy from one system to another, with all files, including directories, block special files, character special files, fifos, hard links, and symbolic links reproduced with all attributes intact.
File Comparisons
BRU can compare the contents of an existing archive with the current online files, reporting all those online files that have been modified, have had their attributes changed, or have been removed since the archive was created. For example, using a reference archive of a standard UNIX distribution, BRU can be used to detect which files have been changed or are missing. This is a valuable capability when you encounter system problems and you suspect that the cause is corrupted or missing system files.
File Overwrite Protection
By default, when extracting files, BRU will not overwrite existing online files with older files of the same name. This feature can be overridden when necessary.
File Transport To or From Other Systems
Data storage options may differ on any two given systems. When you are transporting files to or from other systems, BRU will automatically perform byte swapping or word swapping as necessary when the archive is read on the target system. Regular files can easily be moved from one type of system to another. Special files and symbolic links can cause problems on the different target system, however, and transporting such files between different types of systems should probably be avoided.
Increased Speed
BRU has been constantly improved to make it faster. However, on most newer UNIX platforms, the backup speed is limited by the archive device (normally a tape drive) or your network, rather than BRU. This is because newer hard drives and processors can deliver data much faster than most tape drives can write it to tape. On these systems, BRU can usually be tuned to run at the maximum speed of the tape drive. Of course, the speed will vary, depending on the tape drive, device driver, buffer size, operating system version, CPU speed, I/O subsystem, filesystem performance, kernel parameters, and (in some cases) network performance), among other things. There is no guarantee that it will be faster on your particular system.
Conventions Used in This Manual
Typographical Conventions
Several typographical conventions are used throughout this manual to make it easier to distinguish between what the system prints on the screen and what you should enter. Words you type, or that appear on the screen as a result of typing a command, appear in a typewriter style font. For example:
$ ls /bin/a*
/bin/acctcom
/bin/adb
/bin/ar
/bin/as
/bin/asa
The “$” in the above example is a shell prompt; the remainder of the line is the command you typed. The lines that do not begin with “$” are lines that were produced by the typed command.
When they appear in the text, the names of UNIX commands, directories, and files are also set in a typewriter font. The above example uses the UNIX ls command and lists several files in the /bin directory, including /bin/adb.
When special terms are first used, they appear in bold type. For example, “place-holders”, in the following paragraph.
Words printed in italics are place-holders or variable names. They are words that you are to replace with actual values. For example, when the manual uses the string files in the description of a command, you might replace files with /bin/echo /etc/passwd
Command Conventions
Examples of command line entries typically show all options specified separately:
bru -c -vvv files
However, it is perfectly acceptable to place options that have no required parameters together as part of a single option specifier. In this case, the above example would appear as follows:
bru -cvvv files
When an option accepts a parameter, for clarity, we show the option and the parameter separated by whitespace:
bru -c -o /usr/user1 files
In this example, we are creating an archive for a user, and the -o option identifies the user. Since BRU can tell what follows the option specifier is the option’s parameter, this command could just as easily have been written as:
bru -c -o/usr/user1 files
For readability, we avoid using the second form in this manual. But be aware that BRU accepts both forms as legal command options. Many users have come to expect this capability from UNIX. In some places, an option may be indicated as:
-o ( name | file | uid )
The parentheses, “(“and“)”, mean that a parameter is required.  The “|” means that any one of the indicated parameters may be supplied, but only one. In this case, either a user name, the name of a file, or a decimal user ID may be supplied.
Definitions and Concepts
archive
Used synonymously with backup. When you back up files you create an archive containing copies of the files. Archive is used both as a verb and a noun.
extract
To restore from an archive.
full backup
A backup of all files on the system. Typically, this includes system files, system programs, and temporary or work files.
incremental backup
An incremental backup copies (backs up) all files that have been modified (changed) since a given date. A combination of full system backups, usually at weekly intervals, and daily incremental backups is a common backup scheme.  Incremental backups are smaller and therefore less time consuming than full backups to run and monitor. They also use less space on whatever media you use.
differential backup
A differential backup includes all files that have been modified or created since the last full backup was performed.  Differential backups differ from incremental backups in that files will be backed up multiple times even if they have not been modified since the previous differential backup.
partial backup
A backup of only parts of the system. Typically a partial backup will not back up system files, the files that contain system programs, work files, etc. The files that are to be backed up may be specified by typing file names on the command line, by reading in a file that lists the files you want to back up, or by telling BRU to look at the bruxpat file. See Chapter 5, “Archiving Files: The BRU Backup Function,” and Chapter 6, “The bruxpat File.” An incremental backup is a type of partial backup.
restore
Extract files from an archive.
inspect
BRU’s primary verification method.  This recalculates the checksums for the data blocks written to an archive to compare them against the checksums created with the backup was initially executed. Any differences reported could indicate a problem with the data included in the file listed.
table of contents
To list the contents of an archive in a file-by-file listing.
Help With BRU
On-line Help
Once you have installed BRU, you may get a quick reference page describing the various BRU command line options by by using your system’s ,man page subsystem:
man bru
This prints to the screen the same information that you’ll find in Appendix B, “The BRU Help Command.” Since it is sometimes difficult to remember the letters that represent specific parameters, this quick help summary may help.
How To Get Additional Help
We’re here to help if you have a problem with BRU that you cannot solve yourself. Before contacting us, please do the following:
•    Write down or print out the exact command that you entered when the problem occurred.
•    Write down or print out any error messages or warnings. To help us identify the exact error, please include any error numbers.
•    Have your BRU serial number, version, and platform information available. This can be found by executing:
bru -h | tail -23
If you do not have this information, you may be able to find it in the BRU execution log (the file /var/log/bruexeclog). This file keeps a record of all BRU commands and errors. It is very helpful if you can send us a copy of the portion that contains the errors by FAX or electronic mail.
Contacting TOLIS Group
Support Phone: (480) 505-1814 (8 a.m. – 5 p.m. MST, Monday - Friday)
FAX Assistance: (480) 505-0492
E-Mail:
support@tolisgroup.com
brusales@tolisgroup.com
On the web:
http://www.tolisgroup.com/

 
Chapter 2 – Installation and Getting Started
Overview
BRU LE for Mac OS X is installed as a standard Mac package.  Upon receiving either the BRU LE CD or the BRU LE installation disk image file (DMG), installation proceeds as with any other Macintosh product.
If you received BRU LE on CD, insert the CD into your CD/DVD drive and open the volume.  Double-click on the “BRU LE for Mac OS X” Installer package and follow the prompts.  You will need to authenticate as the admin user for your system to perform the installation.
If you downloaded BRU LE as a DMG file (or received it by some other method), double-click the DMG file to mount it and then open the resulting “BRU LE for Mac OS X” Installer volume.  Double-click the package icon as above and continue as directed.
Once the installation completes, the BRU LE, BRUTalk, and BRU LE Uninstaller applications Will be installed in your /Applications folder and the component support files will be installed in /bru and /var/lib/bru.  See Appendix A for more information on the files that are installed.
Starting BRU LE
To start BRU user interface, open your Applications folder and double-click the BRU LE for Mac OS X icon to start BRU.  Once started, you are instructed to authenticate as the system’s administrative user.  This is done to enable BRU to access all of you system’s volumes and data.  If you do not authenticate, you will only have permissions necessary to backup your personal data.
BRU LE User Authentication Note
Figure 1 – User Authentication Note
Figure 2 - Security Authentication
When you have successfully authenticated, BRU’s startup will take one of two paths.   If you do not have a library attached, you will be automatically taken to the Backup panel as shown in Figure 3. If you have a tape library attached to your system, BRU will display a dialog about creating library destinations to allow full access to your library (Figure 4).  We will discuss library operations in chapter 3.
 
BRU LE Main Backup Panel
Figure 3 – Main Backup Panel
BRU LE Library Destiination Notice
Figure 4 – Library Destination Notice
For now, if you have a library, click Ok and then click the Close button on the Destination creation dialog.  Select the Backup tab to return to the main backup display and define and start a backup.
Once the backup panel (figure 3) is displayed, select the main volume and expand it using the disclosure triangle on the left side.  Select a sample backup set – for this demo, we’ll use the Applications folder.  You may add the Applications folder to the selection listbox in one of 3 ways - you may select the folder and click the “Add” -> “Selected” button, double click on the Applications folder, or drag the Applications folder to the lower listbox.  Additionally, you may drag and drop an item from your desktop or Finder window.
 
BRU LE Select Paths for Backup
Figure 5 – Select Paths for Backup
“/Applications/” will appear in the lower listbox.  Do the same for the Developer directory (if you haven’t installed the developer tools, you may not have a Developer directory).  The Backup panel will look similar to figure 5.  Note that whatever appears in the lower list box will be included in the backup run.
If you would like to save this selection as a backup definition that can be reloaded and scheduled.  Click “Save Definition” and the Save Definition dialog will appear (figure 6).  Enter a descriptive name for this definition and click Save or hit the Enter key.
 
BRU LE Saving a Backup Definition
Figure 6 – Saving a Backup Definition
Once the definition is saved, BRU will ask if you would like to schedule the saved Definition (figure 7).  For this demo run, click the No button.
BRU LE Definition Saved: Schedule it?
Figure 7 – Definition Saved: Schedule it?
For the backup test, we will use the default tape drive as a standalone tape drive.  To start the backup, click the “Start Backup” button.  If you haven’t previously loaded a tape, you will be prompted as in figure 8.
Insert a Tape To Start the Backup
Figure 8 - Insert a Tape To Start the Backup
Once the drive is ready, the tape’s header will be read to determine if there is an existing BRU archive on the tape (figure 9).
 
Checking for Existing BRU Archive
Figure 9 - Checking for Existing BRU Archive
The label and overwrite dialog will be displayed (Figure 10).  Enter a human-readable label in the text entry field.  This label may be up to 63 characters long.  Also, to estimate the amount of data and number of files processed, select the “Estimate Job” checkbox.  You may choose between overwriting and appending the data to the tape.  Select the Overwrite option and click the Continue button.  If we were using a disk file for this demonstration, these options are disabled and only overwriting is allowed.
 
Enter Label and Select Options
Figure 10 – Enter Label and Select Options
If you click the “Do Not Ask Again” checkbox, any additional backup operations performed during this BRU session will use the parameters entered and you will not be asked before the backup process begins.  If you’ve selected to estimate the job, the estimate progress window will appear (figure 11).
Backup Estimate
Figure 11 – Backup Estimate
During the estimate run, you may elect to skip or cancel the estimate.  If you skip the estimate pass, the backup will begin, but BRU will not know what the total expected backup size will be.  If you cancel the estimate, you will be canceling the actual backup.
Once the estimate is completed, the estimate dialog will go into countdown mode (figure 12).  If there is no user input for 30 seconds, BRU assumes that you have left it to complete the procedure and will automatically begin the actual backup pass.
 
Estimate Countdown
Figure 12 - Estimate Countdown
After clicking the Continue button, the estimation pass will be run and the progress will be displayed as shown in figure 10.  Once the estimate pass completes, you can click the Continue button or wait 30 seconds and the backup process will begin automatically.
 
Backup Running
Figure 13 – Backup Running
As the backup runs, progress will be displayed as show in figure 13.  The Progress Bar immediately underneath the filename provides progress info on larger files.  If you did not select the estimate pass, the progress bar displayed at the bottom of the dialog will be the barber pole rather than the solid blue progress bar.  This is because BRU does not know how much data will be processed during the backup process.
Additionally, if you uncheck the “Display Details” checkbox, only the progress bar will be displayed.  Displaying the details during archive I/O can negatively impact backup and verify speed on systems with large numbers of small files – such as a mail or newsgroup server.
Once the backup completes, the verify process will occur (figure 14).  The verify process is automatic unless you uncheck the “AutoScan Verify” checkbox in the Backup Option frame before you start the backup process.  Please remember that a verification pass is the only way to determine if the data that you think was backed up was actually backed up!
 
Verify Running
Figure 14 - Verify Running
You may abort the backup or verify process by clicking the “Abort Backup” or “Abort Verify”  button.
 
Backup and Verify Completed Successfully
Figure 15 – Backup and Verify Completed Successfully
Once the backup and verify are completed, the progress window will inform you as shown in figure 15.  
If all went as expected, you have now completed your first backup using BRU LE for Mac OS X.
Click the Close button to return to the main backup window.
Restoring Data
Now that we have backed up some data, it’s time to restore it.  Click on the Restore tab and the Restore panel will be displayed.  At this stage, only the backup you just performed will be visible in the Archives table.
Retrieving the Archive Catalog List for Restore
Figure 16 - Retrieving the Archive Catalog List for Restore
Select the archive by clicking its label text and BRU will load the archive catalog (Figure 16).
 
Rename File to Be Restored
Figure 17 – Rename File to Be Restored
For our test restore, we will restore the “Calculator” in the /Applications folder.  Once the archive contents are loaded, open a Finder window and select the Applications folder.  Within the Applications folder, locate “Calculator” and rename it to “Calculator Original” as shown in figure 17.
Return to BRU and click the Search button on the right side of the Restore panel.  
The Search dialog will display as in figure 18.
 
Searching the Restore List
Figure 18 - Searching the Restore List
Enter “Calculator” (without the quotes) in the text field, check the “Select Only First Match” checkbox and click search (or hit the Enter key).
The first entry for “Calculator.app” will be selected and it will be added to the Selected table as shown in figure 19 below.
 
Calculator.app selected for restore
Figure 19 - Calculator.app selected for restore
As the final step, click the Restore button and wait.  BRU will automatically position the tape to the proper offset and begin the restore.  Depending upon the type of tape drive in use, the positioning should take a few seconds to 45 or so seconds before the restore begins.  While this isn’t an amazing timesaving on our small test backup, if the backup consisted of 100’s of gigabytes, the backup operation could have taken hours to perform.  Our Quick File Access (QFA) implementation allows you to restore selected files in a much shorter timeframe.  Average tape positioning times can range from 90 seconds on a DDS4 DAT tape to just under 4 minutes on an LTO 3 - much quicker than the hours that a non-QFA enabled app would require to restore the same files.
As the restore progresses, the Restore Progress dialog will display the files as they are processed.  During the restore, you may abort the operation by clicking on the “Abort Restore” button.  The file currently being restored will finish and the remainder of the selected data will not be restored.  Once completed, simply click the “Close” button (or hit Enter) – figure 20.
Restore Completed Successfully
Figure 20 – Restore Completed Successfully
To see the result of our restore test, return to the previous Finder window and you will see both “BRU Library Manager Original” and “BRU Library Manager” (which we just restored).
When restoring data on an OS X system it is important to realize that even though BRU processes applications as folders, we recommend that you only restore complete top-level .app folders (many OS X Applications are really folders designed to operate as a single application) or the resulting restore could leave an application in a non-functioning state.
Since we renamed the existing “Calculator” application, BRU restored the version from the archive completely.  If we had not renamed the original app, BRU would not have overwritten the existing file(s) since the files in the archive were the same age as the files on the disk.  The three checkbox options to “Overwrite Existing Files” will provide control over which files will be overwritten.  BRU’s default is to only overwrite if the files do not exist on the drive, or if the files in the archive are newer than the files on the disk.
Chapter 3 – Backup Operations
Overview
Backup using the BRU LE for Mac OS X graphical interface allows easy selection of volumes, paths, or files.  You can control options such as files that are excluded from the backup, files that have been modified or added since a specific date or that are newer than an existing file on the system, the archive destinations including tape drives, tape libraries, and disk-based files.
If you want a quick overview of a backup and restore operation and have not reviewed chapter 2, please do so now.
The Main Backup Display Panel
Figure 1 – The Main Backup Display Panel
While on the backup panel, as shown in figure 1, Volume/Path/File selection is made in the upper list box.  To select entries, you may double-click an entry or drag the entry from teh upper list box to the lower list box.  In either instance, the selected entries in the upper list box will be added to the lower list box.  Only those paths or files listed in the lower list box will be included in the backup that is run.
Across the lower portion of the display is the Backup Options group.  These options control the automatic verification pass (AutoScan™ Verify), whether to include volumes mounted below the selected volumes or paths, whether to include mounted remote volumes, whether to send (and to whom) email status reports, selection of Full, Incremental, or Differential backup, and access to the Advanced Backup Features dialog (more on this below).
The right side of the display provides access to backup definitions and archive destinations.  While you may simply select paths or files and then click the Start Backup button, saving your selection as a backup Definition will allow you to recall your current selections at a later date or schedule them for execution at a later time, or on a repeating schedule.
To save a Backup Definition, select paths or files and add them to the lower list box using the Add: Selected button or double-clicking as described above.  Click the “Save Definition” button from the right side of the panel.
Save A Backup Definition
Figure 2 – Save A Backup Definition
Enter the name that you wish to give this definition – System Applications was chosen in the example above – and hit Enter or click the Save button. The definition will be saved and you will be asked if you would like to schedule the definition as shown in figure 3.
 
Schedule A Saved Definition?
Figure 3 – Schedule A Saved Definition?
Clicking “Yes” will take you to the Scheduler panel.  We will describe this below.
Once you have saved one or more backup definitions, the Load Definition popup menu can be used to reload the selections saved in the definition.
If you wish to clear your existing selections, you can double-click the entries in the lower list box or click to select the entry that you wish to remove and hit the Delete key.  Click the “Clear Selection” button to clear all entries and return the Load Definition menu to the default setting.
Clicking the “Delete Definition” button will allow you to delete a previously saved definition.  If you delete a definition, any saved schedules associated with that definition will also be deleted.  Note that deleting a backup definition does not affect your ability to restore files backed up using that backup definition.
Depending on the devices available on your system, one, two, or all three of the archive destination selections will be available.  “Disk File” will always be available, “Library Destination” will only be available is you have a tape library attached to the system.  “Tape Drive” will be available if either a tape drive, or a tape library is available.
To use a disk-based archive file, select the Disk File button and enter the filename that you wish to save to.  If you do not provide a path, the file you list will be created in your Documents directory.  Also, for ease in later recognizing previous BRU backups, we recommend using an extension of “.bru” –  for example: DailyBackup.bru.
If you have a tape drive, select the Tape Drive button.  If you have more than one tape drive attached, you may select which drive to use with the popup menu.  Tape drives start with ntape0 and progress upwards by 1.  Therefore, the third tape drive on a system would be ntape2.
he Setup/Tools Panel: No Library Destinations Defined
Figure 4 – The Setup/Tools Panel: No Library Destinations Defined
For tape libraries, you need to define a Library Destination.  If you have a library attached to your system, BRU will recognize this and take you directly to the Setup/Tools panel to create your destinations as shown in figure 4.  A destination may be all of the tapes in a library, a single tape, or any set of contiguous slots.
If there is a tape currently loaded in a drive within the library, you be warned that you must unload the drives before you create your destinations.  Respond to the warning dialog and use the Library Unload button to return the loaded tape to its slot within the library.
Once the drives are empty, click the Assign button and the Slot Assignment Dialog will be displayed as shown in figure 5.
Library Destination Slot Assignment
Figure 5 – Library Destination Slot Assignment
For the simplest destination, you may select all of the available slots by clicking the Add: All button.  If you are selecting a subset of slots, we recommend that you do not overlap slots between destinations and require that any selected slots are contiguous.  Give the destination a name – the example above used Daily_Slot_1 – and click the Save button (or hit Enter).
Your saved destination will now be available in the “Library Destination” popup menu when selecting a Library Destination for backup.
With your backup definition and archive destination selected, clicking the “Start Backup” button will start the backup operation.
Before the backup begins, the drive will be checked and if no tape is loaded, you will be prompted to insert a tape.  If the destination is a library, the drive will be checked and if the tape is a member of the selected Library Destination, the backup will proceed.  If the drive is empty, or the current tape is not the first tape of the Library Destination selected, the proper tape will be loaded and the backup will proceed.
 
Backup Label and Overwrite Selection
Figure 6 – Backup Label and Overwrite Selection
The label and overwrite dialog will be displayed.  Enter a human-readable label in the text entry field.  This label may be up to 63 characters long.  Also, to estimate the amount of data and number of files processed, select the “Estimate Job” checkbox.  You may choose between overwriting and appending the data to the tape.  If we were using a disk file for this demonstration, these options are disabled and only overwriting is allowed.
After you click Continue, if you have selected to overwrite the backup archive destination, the catalog data files will be checked against the current tape to determine if you are about to overwrite known backups.  If the current media contains a known backup, the overwrite warning screen will be displayed as shown in figure 7.
 
Figure 7 – Backup Overwrite Warning
You may continue to overwrite the known backups (their catalog entries will be deleted if you do), change the status to Append – adding the new backup to the existing archives, or you may cancel the backup operation and return to the Backup panel to modify your choices.
 
Backup Estimation Dialog
Figure 8 – Backup Estimation Dialog
If you selected the Estimate Backup option, the Estimate dialog will be displayed.  Please note that the values displayed are an estimate and the actual data and file count may be slightly different once the backup is completed.
Once the estimate completes, you may cancel the backup operation, click the Ok button to continue, or allow the 30-second timer to expire, which will automatically start the backup operation.
Backup Progress Dialog
Figure 9 – Backup Progress Dialog
During the backup operation, the Backup Progress dialog will be displayed.  The status of the current backup will be shown along with a progress bar that provides a visual clue as to the progress of the backup.  If you deselect the “Detail Display” check button, only the progress bar will be displayed.
Detail Display turned off
Figure 10 – Detail Display turned off
The Detail Display can have a negative impact on backup and verify performance on systems with many small files – such as a mail server.  Unless you are really interested in watching your backup run, we recommend that you turn Detail Display off.  Or better still, use the scheduler and run your backups as background tasks.  This will reduce the system load to the minimum required to allow BRU to properly backup your system.  On an average G4 1GHz+ system writing to tape, this can be as little as 12% or a 0.20 system load level.
Executing your backup definitions as scheduled tasks also allows you to utilize multiple tape drives simultaneously.  With this mechanism, you could define two sets of backup definitions and schedule them to start at 10PM.  BRU will then start the backups and run both backup jobs at the same time, reducing your backup window requirements by 50% or more.  In fact, you can use as many drives as are available on your system – so long as you have the I/O bandwidth to support the archive streams.
 
QuickBackup Mode
In addition to the full backup mode, BRU LE now offers a “QuickBackup” mode that has been implemented to provide drag and drop simplicity to the BRU LE interface.  The QuickBackup interface allows you to drag and drop folders or drives from your desktop or from within the Finder.  Once you’ve selected the data to backup, choose the the archive destination and whether to use the file exclusion option (use bruxpat), and then click the “Start Backup” button.
 
BRU LE QuickBackup Interface
Figure 11 - BRU LE QuickBackup Interface
To access the QuickBackup interface, you may use the “File” -> “QuickBackup” option or the Command-Option-B keyboard shortcut.  If you prefer to use this mode for most of your backup operations, check the “QuickBackup as Default Mode” checkbox and this is the primary window that will be displayed each time that you start BRU LE.  To return to the normal interface as the default mode, clear that checkbox.
The choices for estimate and verify are turned on by default when operating in this mode and any backup run will be a full backup of the selected data.
To return to the normal interface, either use the “File” -> “Normal Backup” menu, the Command-Option-B keyboard shortcut, or click the button labeled “Normal Mode”.
Once you click the “Start Backup” button, the remainder of the steps for estimates, overwrite warnings, and the backup and verify progress are identical to the normal mode operations.
 
Scheduling Backups
 
The Scheduler Panel
Figure 11 – The Scheduler Panel
Figure 11 shows the Scheduler panel.  If you have saved a backup definition, you can use the options here to schedule it.  A schedule can be a single execution of the definition at 10PM this evening, or an operation that repeats every other hour of every day.
When you select a saved backup definition, you will be able to access the archive destinations and scheduling elements in the lower portion of the panel.
BRU doesn’t save the archive destination as part of the backup destination.  This allows you to select the archive destination, or change it, without the need to re-save the original definition.
You should recognize the archive destination options, as they are the same as on the Backup Panel and the Setup/Tools Panel.  However, the middle section of the lower panel is new and defines when and how often a scheduled backup definition runs.
Each figure below illustrates one of the options for scheduling.
 
A One-Shot Schedule
Figure 11a – A One-Shot Schedule
An Hourly Schedule
Figure 11b – An Hourly Schedule
A Weekly Schedule
Figure 11c – A Weekly Schedule
A Monthly Schedule
Figure 11d – A Monthly Schedule
A Once-a-Month Schedule
Figure 11e – A Once-a-Month Schedule
Each of these figures – 11a through 11e – illustrates the mechanism available as well as the manner in which the menu display changes to facilitate the different scheduling options.  In each case, you may select the archive destination, the time of the job, the type – Full, Incremental, or Differential, and whether to append to, or overwrite the archive destination.
Technical Note: Rather than add a new daemon, or background process, to your system, BRU uses the standard cron service to manage scheduled backups.  During BRU installation, an entry is added to root’s crontab (the table that defines cron jobs for the user ‘root’ – use ‘man crontab’ and ‘man cron’ in the Terminal for details of cron operation).  This entry tells cron to execute BRU’s checkschedule applet to determine if a pending backup definition needs to be run.
For OS X 10.4 and newer environments, the BRU LE installation process adds an entry to the default /etc/crontab file that simply executes /usr/bin/true once a month.  With the update of the cron system under 10.4, cron does not execute any users’ crontab entries if there are no entries in the /etc/crontab file.  While we have reported this as an inconsistency in OS X 10.4, Apple has as yet to reply to the report.
Restore Operations
 
The Restore Panel – Retrieving Catalog Contents
Figure 12 – The Restore Panel – Retrieving Catalog Contents
The Restore panel provides you the mechanism for selecting the paths or files for restoration.  You may select a single file, multiple paths or files, or entire volumes or backups for restoration.
Normally, when restoring data from an archive, BRU will only overwrite files that exist on the disk if the disk file is older than the file in the archive.  However, you may modify this behavior and elect to never overwrite existing file or to always overwrite existing files.  Additionally, if you wish to keep the existing disk file and restore the files from an archive, you may specify an alternate restoration path.
Once the selected archive’s catalog is loaded into the upper right list box, the quickest way to restore files of interest is to use the search function as shown in figure 13.
 
The Restore Search Function
Figure 13 – The Restore Search Function
As demonstrated in chapter 2, this allows you to quickly locate the file or files that you are looking for without manually scanning through what could be hundreds of thousands of files.
If you choose to manually search through the files, locate the files in the upper right list box and click the Add: Selected button to add them to the Selected list box.
Once you have the files or paths selected for restore, click the Restore button to begin the process.  BRU will prompt for any required media, or automatically load the appropriate media if you are using a library, and begin the restore.  Because BRU tracks where each file is located on a tape, it uses Quick File Access (QFA) to quickly position the tape to the starting location for your requested data.  In most cases, this means that your restore will take minutes even if it took many hours to actually complete the backup.
 
A Completed Restore
Figure 14 – A Completed Restore
After the restore is completed, click the Close button to return to the Restore Panel.
Verify Operations
Verification is one of the most important and probably the most underused function of any backup process.  Unless you verify that data you think got onto your backup media actually made it there intact, your backup may not be worth the media it’s written on.  Between the reading of the data from your filesystem to the actual writing of that data onto your archive media, there are any number of places in the system where the data stream could become corrupted.
With many backup tools, a verify pass compares the archive content with the actual disk files.  This means that your backup will take twice as long as is required to perform the backup without the verification – this is the leading reason listed by System Admins for not running a verify pass.  BRU changes this.  Because BRU uses an on-tape 32 bit CRC, your verify pass can take place totally out-of-band.  This means that a 4 hour backup only needs to access your filesystems for the 4 hours of the backup – the verify takes place solely between BRU and your archive media.
Additionally, this mechanism even allows you to validate an archive set weeks or even years after it was created – even on another system or a different operating system.
While the default for any BRU backup is to automatically verify the archive once the backup completes (AutoScan Verify), BRU also allows you to manually verify an archive.
 
The Verify Panel
Figure 15 – The Verify Panel
BRU will display all known archives in the left side list box.  Select the archive set that you wish to verify and the choose either the Checksum Verification button (the default), or the “Comparison Verification” button and click the “Verify Archive” button.
If you are using a standalone tape drive, BRU will prompt you to insert the first tape.  If you are using a library, BRU will load the tapes from the assigned destinations slots and proceed automatically.
The right side list box will display any discrepancies that are found during the actual verify pass.
Since we tout CRC, or Checksum verification as the best verification method, why does BRU offer a Comparison option?  Using a disk-to-archive compare is a good way of determining if files that shouldn’t have changed on a system have been compromised.  We have many users that create baseline backups of their systems configuration files and if foul play is suspected, they perform a comparison verification pass to check the system status.
If you wish to verify an archive that is unknown to this installation of BRU, select the “Import Unknown Tape” button and then click the “Verify Archive” button to allow BRU to both verify the contents of the archive as well as add it to the known archive list.
Chapter 4 – Configuration Options
Overview
This chapter describes BRU LE for Mac OS X’s configuration options.
Preferences
There are two areas that require configuration in BRU.  The actual defaults used by the user interface (Preferences), and the defaults used by the BRU engine when accessing your archive devices (/etc/brutab).
To open the BRU Preferences dialog, use the Preferences menu item under the Application menu, or press Cmd-, (that’s a comma).
The options available match the same options that we have discussed throughout chapter 3.  Settings made here and saved will be reloaded each time you start BRU LE.  Unless you come back to the Preference dialog and re-save, any changes that you make within the interface will be temporary.
 
The Backup Preferences Panel
Figure 1 – The Backup Preferences Panel
The options on the Backup preferences panel include overwrite settings, the handling of Application bundles within the listboxes, software compression settings, The use and editing of the bruxpat file, the use of date-stamp modification on disk-based archive filenames, and the default disk path to assign for disk-based backups.
By default, BRU LE will always default to appended backups.  This can be overridden when you start a backup, but you may also default the backups to overwrite or ask each time.  These settings will be used when the “Do not show overwrite dialog” checkbox is checked.  Otherwise, the Overwrite dialog will be displayed at the start of each backup operation.  Note that overwrite settings only apply to tape-based backups.
As stated in the Quickstart section of this guide, OS X uses application bundles as if they were a single file.  At the filesystem level that BRU operates, we actually see these bundles as folders and display them as such unless you check the “Do not process app bundles as dirs” checkbox.
Software compression is provided for disk-based archives or foe tape drives that don’t offer hardware compression.  For most modern tape drives, hardware compression is built in and BRU LE will always use this by default.  You should only enable software compression when backing up to a disk.
When performing backups, you can instruct BRU LE to ignore certain files, paths, or patterns.  To enable this option, check the “Use bruxpat” checkbox.  YOu may edit the contents of the bruxpat file by clicking the “Edit” button.  The bruxpat edit dialog will appear as shown in Figure 2.
 
The bruxpat Edit Dialog
Figure 2 - The bruxpat Edit Dialog
To add an entry to the exclude or non-compress lists, use the appropriate “+” button.  Entries created with the editor will be defined as standard shell-pattern excludes.  To remove an entry, check the checkbox next to the entry and click the “-” button.  For more information on the bruxpat file, see Appendix I later in this guide.