If you’ve got anything on a computer it needs to be backed up. There’s a lot of accidents waiting to happen from disk problems (and SSD disks can lose data worse than hard drives) through human error to viruses and even theft. There’s a lot of options and for the record I’m going to list what I do.

Every night I use Apple’s Time Machine to backup the files on the iMac to an external hard drive. Time Machine keeps old versions of files which has been very useful in the past. It’s not necessarily perfect - I have seen it confused by files changing path not timestamp.

A selection of files is also synchronized to another home computer using rsync.

Code I have developed is stored in Github.

I also hold some files on an external drive (to reduce storage used on the main drive) and synch that to Microsoft’s OneDrive.

Photographs and other Apple documents are synched to the cloud using Apple’s iCloud storage.

I use Google Drive to backup files to. Cloud storage like Google Drive and iCloud have been unworkable for me to try and shadow whole directory structures to. There are options like Carbonite which other people find good. As I’m a hobbyist programmer I’ve rolled my own solution which every day creates an archive chunk and saves it to Google Drive. This archive chunk is limited in size to 1GB, is an encrypted (using GPG) gzipped tar of a directory structure.

Into this directory goes:

  • A list of all the files to backup to Google Drive together with timestamps and which archive chunk they’re in

  • As many changed and new files not yet backed up as will fit

  • If there’s space as many least recently backed up files as will fit.

There is a limit on the number of archive chunks retained. This approach does mean a potential to restore the state of files as they were a few days ago.