Fork me on GitHub

more fun with btsync

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