Becky

Stefan's 7th homepage

News
2008-07-21 Some updates in the projects section...
2006-10-17 The Diktio project page is now ready.
2006-05-25 The Fotia project page is now ready.
About me
CV
Trivia

Projects
: Webbased :
Diktio
Webgui
Senter
: Backup related :
Becky
Beckygui
PLSync

Archived (Old) Projects
: Webbased :
Colorpanes
Apanto
: Backup related :
Amrecgui
: Firewall :
Fotia
: Development :
Autoconfgui
: 3D :
Exipnos
Geometry
Schnitt
: Basic libraries :
libbasic
: OpenGL GUI :
libbasicgui
libbasicsvg
libbasicx3d
: Motif GUI :
libgui
: Whatever :
Multishow

DescriptionScreenshotsInstallationDocumentationDownloads

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.
1