RFS: 'snap2' rsync-based backup program with GUI
My name is Lloyd Standish. I am the author and upstream maintainer of snap2, a fast, easy-to-use rsync-based backup program with GUI. It is considered "tested/stable" after several months of testing. I first released it publicly in 2009, but I used a previous version of the script (no GUI) for years. Snap2 is licensed under GNU GPL version 3. The Debian package is Lintian-clean.
You may already be thinking, "There are already lots of backup programs in Debian." True, but I believe none of them makes hard-linked snapshot-type backups easily available for less-technical Debian user, yet with flexibility and power to please even the most advanced users.
The snap2 package consists of 3 bash shell scripts, with the GUI implemented via gtkdialog. There is a non-interactive bash shell script (snap2engine) and an interactive GUI (snap2) for configuring and optionally running the backup. Since this program is normally configured and run via the snap2 GUI, no manual editing of configuration files or running from the command line is needed (unless it is used in a non-graphical environment, which is possible).
snap2's principal feature is rotating 'snapshot' backups to either local or remote hard disk backup media. (It can also do 'mirror' type - single copy - backups.) A snapshot backup is a full backup of your files as they were at a given moment in time. With snapshot backups you can recover any of several past versions of files.
When using the snapshot backup method, snap2/rsync uses hard links to duplicate identical files on the backup drive. This greatly reduces the disk space required on the backup drive, allowing (in most cases) several gigs of backup 'snapshots' to fit on a one-gig USB flash drive. These snapshot backups function just like full backups - no special software needed. You can access them with any file manager, and use cool file comparison tools to explore the differences between files.
As I'm sure most of you know, when backing up a file that was modified since the last backup, the rsync backend only needs to transmit the changed *portions* of the file in order to create the new backup file. This saves bandwidth, particularly important for backup to a remote host (via Internet).
In sum, snap2 combines the convenience of full backups with the speed and backup storage economy of incremental backups.
The idea of using hard links and rsync to create fast, space-saving snapshot backups is not a new one, but snap2 is unique (I believe) because of the GUI, which is used for (1) configuring backups, (2) running them on demand, and (3) setting up 'Automatic Backups' (via cron). It and its dependencies are also very lightweight.
I'd like to get this into Debian because I believe it would be very useful to many, and because I would like to give back to the Debian community. I am fully capable of maintaining it, as I have done since I introduced it last year. Of course, I hope to eventually become a Debian Developer myself.
snap2 is already accepted into the latest Puppy Linux (Quirky) and has been praised by Puppy users.
My snap2 project page on the Puppy forum: http://www.murga-linux.com/puppy/viewtopic.php?p=374387#374387
The project website: http://www.linuxbackups.org
PS I had to change file locations as part of the Debianization. I hope this did not break something (I have run several tests and all looks OK.)