I've already gushed over the amazingness that is btsync, but it just solved another problem for me, so here I am again.
My new VPS provider (yes, that is an affiliate link; sue me) recently announced that their backup interval would be increasing from weekly to monthly. I'm coming from a daily backup environment, so weekly was already uncomfortable; it was time to set up my own backup system. But my primary machine (and therefore backup host) is Windows--am I supposed to set up some kind of rsync service? Muck about with Scheduled Tasks? Ugh. Headaches all around.
But wait! btsync to the rescue!
I set up a little
cron.weekly job to drop the content I want saved into a bz2 tarball
/bin/tar -cjpf /path/to/vps-backup-folder/backup.tar.bz2 \
--exclude='skip-this-folder' --exclude='vps-backup-folder' \
--exclude='.SyncArchive' /home/me /etc /path/to/webroot /var/log
/bin/chown me:me /path/to/vps-backup-folder/backup.tar.bz2
and (wait wait, I bet you can guess) registered
/path/to/vps-backup-folder as a btsync source. Now my VPS backups will sync (encrypted!) to any client with the key, whenever they happen to come online. And as a bonus, btsync's own backup system (in
.SyncArchive) will hang on to old versions of the backup tarball for as long as I specify.
Really, this stuff is magic.
(I did briefly investigate tar-based incremental backups, but I don't want to store every increment ever from the beginning of backed-up time. It'd be a particularly ridiculous degree of overkill.)