What is it
Becky is a simple backup tool mainly based on
rsync or (the newer versions)
plsync. After having used
Amanda (a
great backup system that, as it turned out in the end, just provided slightly other possibilities than those I needed) for some time, I decided I needed a new backup system. My reasons for writing yet another backup tool were the following:
- I needed a system that copies a whole directory structure directly to harddisk (on a central backup server) for fast recovery access.
- Multiple backup clients in a network should be supported, preferably without the need for large software installations on the clients.
- The files should not be archived or otherwise specially encoded so I could check the backups in a quick and easy manner.
- As many (incremental) backups as possible should be kept (organized both by client and date), while still preserving the whole directory structure.
- There should be a longtime storage facility (a magnetic tape) in case the backup server crashes.
As it turned out, UN*X filesystems provide just the right thing for this: hardlinks. Using these in an appropriate way, an incremental backup needs just space for the directory tree and any files that are newly created (because they changed since the last dump or newly turned up) (you can think of them as a kind of pointers like they exist in languages such as C, only they are pointing to files instead of memory addresses).
The copying is done by rsync.
The tapeing mechanism turned out to be very easily implementable using tar: tar respects hardlinks, so by periodically taring a couple of incremental backups to tape, several of them can be fitted on a single tape; and even if not, the archive can be easily split into several pieces and thus placed on an appropriate number of tapes.
Features
- Server/Client architecture
- Reasonably simple server setup and configuration.
- Easy client installation (only a working rsync module setup required).
- Server runs on Linux, clients may run any OS that supports a working rsync port.
- Stores and manages many incremental backups of your clients directly on disk, providing the fastest possible access to them.
- Backups may be directly shared using NFS, ftp or any other network access.
- Supports longtime storage on tape (in case the backup server itself crashes or a file from a very old backup is needed).
ToDo
- Becky needs a GUI, both web and terminal based.
- Backup statistics would be nice.
- The whole logging mechanism is rubbish; more details should be logged, and more possible exceptions should be caught and reported.
- An installer for Windows clients would be nice.
Prerequisites
Along with the usually installed command line tools like
cp and
rm, you will need the following software on your
backup server system (which has to be a UN*X box):
Also, you need diskspace of suitable dimensions; the more you have, the more incremental backups will fit on it, but naturally, you need at least the space for one full backup. For several obvious reasons, I suggest a separate partition for this (mounted on /var/becky as mentioned further on).
On your backup clients (which can run any OS), you need only a working rsync installation.
I only tested Linux boxes as backup servers so far, so don't expect it to work under other systems.
Installation
Download the latest tarball, untar it, change into the directory holding the sources (created by untaring the archive) and execute the following commands:
./configure --prefix=/var
make
make install
This will install becky in the directory /var/becky (which will be created); make sure this directory lies on your future backup partition. Of course, you may specify other locations for your installation.
Additionally, the file '/etc/becky.conf' will be created and preconfigured if it doesn't exist yet, so future installs won't overwrite your configuration. This implies a small pitfall: if you should ever choose to move your becky installation to another place, make sure you either update your /etc/becky.conf file or you delete it before reinstalling the software (otherwise, Becky won't work anymore).
Important note: Versions of Becky prior to 0.1.0 have a slightly different configuration file named '/etc/backup.conf'; you can't use this one anymore. Configure the new file '/etc/becky.conf' instead.
Becky Downloads
Version 1.0.0 is out! This is a complete rewrite of the program. There is no documentation yet, and I guess many things will change in the future, so I suggest you stick to the old (and stable) version 0.3.4
Downloads are hosted at

.