snapster

Efficient versioned network backups for Linux-like operating systems.

Synopsis:

Snapster is a set of python scripts and an accompanying library which automate versioned network backups efficiently. To do this, it uses rsync and the "hardlink trick" [1]. In addition to this core feature, it includes scripts for common maintainence operation, html report generation, statistics gathering, and event hook functionality.

Snapster installs and runs on a server with a large (and hopefully robust) storage system. It is also installed on clients. At regular intervals, the server initiates an rsync transfer from the clients to the server.

A hook facility allows the server and clients to run arbitrary programs before and after snapshots are made. A common use of this feature is to synchronize a snapshot with databases, version control systems, or network filesystems. If done properly this ensures that snapshotted data is in a consistent, useful state for restoration.

History:

This system was developed and has been in use internally at Bioserve Space Technologies since 2004 and has been stable since early 2006. Internally it was known as "snapper" but renamed to avoid a name collision with another Sourceforge project.

A Sourceforge Project has been created to house project this project, and it is currently maintained by a sole developer.

Stability:

Since early 2006, few features have been added to code and few bugs have been found (and fixed). The system has recovered from numerous different exceptional cases (such as RAID failures on the server, network outtages, etc), all with minimal human intervention. This is evidence that the current code base is quite stable.

However, installation, configuration, and platform dependence issues are not well tested because the system has been run only in a single environment.

If you'd like to use snapster for your own network, contact the maintainer. You can help improve the usability of installation and configuration, and get the benefit of robust, open source data storage management.

Download and Development:

There is currently no installation package available, if you'd like one, contact the maintainer.

In the meantime, installation from source code should be fairly straightforward. You can find the source and other development info at the Sourceforge Project page.


Footnotes:

  1. TODO: Add references to rsync/hardlink trick.