3 ms·
For me, the method I've found most comfortable are snapshot style whole disk backups. The common go-to solution is rsync/snapshots (ala rsnapshot or similar ut
by derekp7 12y ago
For me, the method I've found most comfortable are snapshot style whole disk backups. The common go-to solution is rsync/snapshots (ala rsnapshot or similar utilities), which I've used in the past. However this only does partial deduplication (it deduplicates files that are in the same path from one backckup to the next), and it doesn't compress. So to remedy that I wrote Snebu (http://www.snebu.com http://www.snebu.com), which stores lzo-compressed files on the target using sha1 hash for the file name (somewhat like Git does), and has an sqlite DB to store the metadata (file paths, ownership, backup set name/date, etc). Therefore you get full file-level dedup even across multiple clients writing to the same backend. On the client side, it uses standard GNU find and tar, so you can use it on Windows with the help of Cygwin. Each backup set has a retention schedule label (daily, weekly, etc) to make it easy to selectively purge old backups (i.e., keep the current 10 daily, 6 weekly, and 12 monthly backups).
I've got the client side script tweaked so that you can run it as a standalone setup (backup to a local USB drive), or backup to a remote Linux server via a non-privileged account, or have the remote backup server pull backups from your clients. The features that are currently in development for the next version include client-side encryption, and pluggable backend replication, so you can replicate your backup sets to cloud providers, or tape, or to another Snebu installation.
I can definitely use some more feedback, probably need to do another round of documentation improvements, but overall the code seems quite stable. The project sites is up on github (github.com/derekp7/snebu) if you are interested in contributing.