Tiered Backup Locations?

Hi all,

I was wondering if there was any way to set automatic tiered storage, like in the scenario below. I could probably build/script something to handle it, but wanted to make sure I’m not missing something. Appreciate any insight! Scenario:

  • local1 - Local SMB or NFS Share for 7 days of backups
  • remote1 - Remote SMB share for weekly/monthly full image archive, 13 weekly and 9 individual months for a total of 1 year of history
  • remote2 - 2nd Remote site (likely just rsync from remote1)

Regards,
sva

No built-in mechanism for this, but it’s a great reason to use ZFS as your underlying backup storage. You can snapshot and zfs send your data offsite very easily in a cron job.

This is exactly what I do. I’m using TrueNAS to hold my backup data, mounted in my UrBackup server as an NFS share. TN has a daily snapshot and replicate job and automatically purges old snapshots at the same time.

Snapshot task:
image

Replication task:


image

How you connect your sites is up to you. I would recommend against exposing SSH to the internet, even on a non-standard port. I’m using the built-in OpenVPN server in TrueNAS.

Rsync isn’t a good option because of the way files are chunked. With even a moderate amount of backup data, you’ll end up replicating millions of file chunks that will take forever. ZFS replicates at the block level so there’s no file overhead.

You should be able to do the exact same thing with BTRFS-backed storage as well.