Currently I’ve got a couple of VPS’s (one with Linode, another with Digital Ocean), where I host this site, run a few other internet services for me to use (VPN, web proxy, SSH). Currently these are backed up by a nightly cron job to my home server (ananke), using rsync to pull all the files onto the local machine. Currently, this is an adequate backup solution, but it’s far from ideal.
Current requirements a replacement service are:
- Must be able to upload/download files via a script.
- Have guarantees for service availability and correctness of the uploaded files
- Not charge large amounts for storage and restores.
Having shopped around a bit, AWS S3 seems to be the winner.
There are scripting tools (Amazon S3 Tools) available, which means that now I’ve set them up, each night a cronjob will run to collate all the files into a single directory, create a compressed tarball, then upload an encrypted version to S3.
As for availability, S3 has many 9’s in their uptime and durability, so files should be there if/when I need them.
Pricing wise, if I store a full backup of the important files, it’s around a 50MB file each day, which if I run daily backups is ~18GB per year. The pricing for that stored in S3 alone is ~40p/month. If I use the Lifecycle rules, I can migrate the data off S3 onto the Infrequent Access tier after 30 days, into Glacier after 60, and delete after a year, which would make the costs even lower (around 10p/month).
For 10 pence a month to have a decent set of backups stored off site for the servers, I reckon that’s alright 😀