bu   BackUp

Description:

    This is a convenient incremental backup tool written in Unix shell script.
    It is designed to backup files to another file system as opposed to
    backing up to a tape.  It is highly configurable through 3 configuration
    files.

    ~/.burc                    Runtime configuration

    /var/backups/bu/Include    Default list of files or directories to
                               include in the backup if not specified on
                               the command line.

    /var/backups/bu/Exclude    List of files or directories to exclude
                               from the backup.

    Of course, the location and names of the include and exclude files, among
    quite a few other things, are configurable in the rc file.  

    Advantages:

        It is a fairly light weight shell script that uses GNU cp for
        backing up the files but has much of the functionality of a
        larger sophisticated backup system.

        It has quite a few sanity checks and gracefully handles symbolic
        links.  There is much more to this than simply using "cp -a".
        For example:

          If I say "bu /a/b/c/d" and b is a sym link to /foo and d is a sym
          link to /bar, which is a directory, then bu will expand every link
          in the specified path and back up the contents of the directory
          /a/foo/c/bar to /backup/a/foo/c/bar, but any sym links under the
          directory I specified will not be followed.  This way it always
          keeps the backup file system identical to the original, no matter
          whether you specify files, directories, sym links to files, or sym
          links to directories to be backed up.  "cp -a /a/b/c/d
          /backup/a/b/c/", for example, would have just copied the link,
          /a/b/c/d to /backup/a/b/c/d.  "cp -r foo /backup", where foo is a
          sym link to a directory will create /backup/foo as an actual
          directory and then traverse any sym links under it, which is also
          not what I want.

          In other words, you can spontaneously backup any file or directory
          (specified as the actual directory or as any combination of links to
          the directory) without being concerned about paths, and trust that
          the backup file system will be an image just like the original.

        It keeps nice logs of the backups in /var/backups/bu.  Of course, the
        log file names and locations are configurable.


    Platforms:

        I use it under Linux and FreeBSD.  It requires the GNU cp from the GNU
        fileutils package which should already be installed on any Linux
        distribution.  It should work on any other version of Unix, as long as
        you have GNU cp and the regular expressions work properly in your sed
        command.


Installing and getting started:

    Installation is simple.  Just untar it and run the Install script.

    Example (assuming GNU tar):  

        tar -xzvf bu-xxx.tar.gz     # Where xxx is the version
        cd bu-xxx
        ./Install 

    This will install bu, the configuration files, and will install
    the doc files and the Un-install script in
    /usr/local/doc/bu-<version>.

    It is configured to work out of the box if you make /backup a
    symbolic link to your backup file system. 

    Check the Include and Exclude files in /var/backups/bu to see if
    they are configured the way you want them.  By default they are
    configured to backup the root file system when typing bu with no
    arguments.

    To get started, just type "./bu -h" to see the usage.  When you do
    this, a ~/.burc file will be created ('~' of course means your
    home directory.  If you are a Unixer, you should already know that
    :-)).  Edit that file to set BACKUP_DIR to the directory you are
    going to backup files to.  It will already be set to /backup by
    default.  If you use /backup and then type "bu /bin/foo" it will
    backup /bin/foo to /backup/bin/foo.

    If, for any "really strange" reason, you decide you don't like bu,
    you can simply un-install it by running the Un-install script. 

            
Why yet another backup tool?
In addition to the features mentioned above, read the white paper that comes
with bu.

Send bug reports or suggestions to
Vincent Stemen  <bu@AdvancedResearch.org>

