BU - Readme


Bu is a convenient incremental command line backup tool written mostly in Unix shell script and Perl and distributed under the BSD copyright.

It is primarily designed to backup files by copying them to a backup directory. I generally refer to this as an NFS backup because the idea is to use a network mounted filesystem for your backup directory so that you have a copy on another machine in case of hardware failure or software error on the local machine. Although, the backup directory can just as well reside on the local host, preferably on a separate hard drive.

Bu also has the ability to do incremental, differential, and full dumps to multi-volume CDRW or CDR disks (currently only working on FreeBSD-4.x). Combining these methods provides much more convenient and cost effective backups than traditional tape backup systems.

The primary backup strategy that bu is designed for is to be able to spontaneously back up changed files to another file system at any time and to be able to schedule regular incremental and/or full backups in cron. Then optionally, periodically dump the backup file system to removable media such as multi-volume CD's or tape for permanent or off site storage. However, that is only one of many strategies that can be used.


Features and Advantages

CDRW dump features


perl version 5.x and pax


Unix. As of version 3.4 beta, the NFS backup features have been tested and worked on NetBSD, FreeBSD, OpenBSD, Linux, and MacOS X 10.2. Even though bu was originally developed on Linux, the development is currently done on NetBSD-2.x and above, so that will be the most tested and best supported platform.

In this beta release, the CDRW dump features only work on FreeBSD-4.x, since that is the platform I was on when that feature was developed, and only with IDE CD writers. Since I have not run the older 4.x FreeBSD for quite a while, I am not completely sure even that still works. So for now, expect to use it only for it's primary purpose, as an NFS backup tool, on all platforms except maybe FreeBSD-4.x.


Installing and getting started

The installation procedure is standard. Just untar it and run ``make install''.

  tar -xzvf bu-xxx.tar.gz     # Where xxx is the version
  cd bu-xxx
  make install

By default it uses /backup as the backup directory. The backup directory should normally be a mount point or a symbolic link to your backup file system.

If you wish to install someplace other than the local root filesystem, such as to another machine over NFS or to a packaging directory, set destdir=/some/directory. By default, prefix=/usr/local if installing as the root user. To change either destdir or prefix, set them in the environment or on the command line when installing. i.e.

  make prefix=/usr install

You can install the same way when logged in as a normal non-root user. In that case, if you do not specify any destdir or prefix setting, then it will install to your home directory with destdir=~/pkg and no prefix, which is just like the /usr/pkg application directory tree on NetBSD. If you type ``make install'' as root, then by default, prefix=/usr/local and destdir will be unset. Either one can be specified to override the defaults.

Default Include and Exclude configuration files get installed during installation, and ~/.burc automatically gets created in your home directory with the standard default settings if it does not exist when bu is run. If you wish to create an rc file for customization before doing any backups, run ``bu --newrc''.

Check the Include and Exclude files to see if they are configured the way you want them. By default Include is configured to backup ``.'' (the current working directory) if you type ``bu'' with no arguments.

To get started, just type

  bu -h

to see the usage. The usage summary will show most of the current settings in parentheses. Most of them can be changed in the rc file or by setting environment variables.

For example: With the default backup directory setting of /backup, If you type

  bu /bin/foo

it will backup /bin/foo to /backup/bin/foo.

If, for any ``highly unlikely'' reason, you decide you don't like bu, you can simply un-install it by typing ``make uninstall'' in the source directory or by running the Un-install script that gets installed in the doc directory.


Send bug reports or suggestions to

Vincent Stemen bu@hightek.org

or, preferably, join the bu mailing list.