Backups

My Backup Strategy

I have followed the 3-2-1 backup strategy which means:

My backup scripts can be found on github.com/jmc265/personal-cloud, but below is a description of the process:

Local Backup

Every night at midnight, the process starts:

  1. Stop all docker container.This is so the data doesn't change whilst we are doing the backup
  2. Use rclone to make an exact copy of the data from my primary hard drive to my secondary
  3. Re-start all docker containers
  4. Use Borg to create a backup of the data secondary hard drive

After this has run, I now have 3 copies of the data over 2 (local) devices. I now need to store a remote copy of the data.

Cloud Backup

  1. Use rclone to sync the Borg archive on the secondary hard drive to a cloud location (currently an Azure Storage Container)

Observability

I need to know if any step of the above fails. To do this, I use a dead-man-switch style checker called healthchecks. If either of the scripts fails to report to the healthchecks service on a nightly basis, I am sent a notification and can investigate/run the process manually.

Previously

Previously used Duplicati. Very stable backup software with good enough admin UI.

Links