Everybody needs backups of their data. Computers catch fire, crash, taken out by power surges, or get fat-fingered as you reinstall your OS and you select the wrong parition. RAID is not a backup.

Backup to local drives are good. As are backups to externally mounted drives that you then detach and store elsewhere. But this is 2016, and the Cloud is where it's at.

Amazon Web Services (AWS) S3 storage continues to get cheaper and cheaper, and it's tough to compete even with local storage. As of now, standard S3 storage is $0.30/GB/month, and the "Infrequent Access" which I use for my backups is $0.12/GB/month. And, it's on somebody else's server that I don't have to worry about or maintain. You do have to push it through the Internet, though.

Duplicity is the other part of this puzzle. It knows how to write to S3 and other online storage providers, it uses rsync and incremental backups, and can use GPG to encrypt the blocks stored on the cloud.

So, I have a script that goes something like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#!/bin/bash

export PASSPHRASE=password

duplicity -v5 \
  --name workstation_backup_s3 \
  --full-if-older-than 3M incremental \
  --s3-use-ia \
  --exclude /home/lance/.gvfs \
  --exclude /home/lance/.cache \
  --exclude /home/lance/.thumbnails \
  --exclude /home/lance/.steam \
  --exclude /home/lance/no_backup \
  --exclude /home/lance/.wine \
  /home/lance s3://s3-us-west-2.amazonaws.com/mybucketname/myfoldername

This will make incremental backups, but do a full backup every 3 months. It will use the Infrequent Access storage, ignore some folders I don't care about, and encrypt the blocks with simple password that I keep around when I need to restore something.