Rotating backup disks for offsite storage

My idea is this:

small home server with removable USB3 disk acting as backup server (via SFTP) for 4 computers within my LAN.
Once a week, I’d unplug the external hard disk (containing all backups), and take it to my workplace. From my work, I’d take the other external HDD, and plug it back into the backup server when I get home.

I’ve been doing this with rdiff-backup for years, and it works fine. Rdiff-backup doesn’t keep a local database of backups though, so it never complains when I switch out the disk. It just creates a new backup increment.

Is something like this possible with Duplicati? My understanding is that the backup job would get confused when the content of the backup disk gets switched out. Should I create multiple jobs, one for disk1, another one for disk2? Do you have any other recomendations?

The short answer is no, Duplicati doesn’t support this, at least not directly. There is a discussion and sharing of some alternative ideas in this thread: Backup rotation on removeable drives fails after drive change

I don’t see any problem here. Just create a backup job per drive and issue is solved. Each drive got it’s own backup set and local data.

1 Like

Yes, that’s one of the solutions presented in the thread I linked. It’s the most straight forward one for sure.

Many thanks for the support!

Suppose I set up two mount points on the backup host:

I’d then set up two backup jobs on each computer, one for drive1 and drive2 respectively.

While drive1 is connected and drive2 is stored off-site, the backup jobs for drive2 would fail, naturally. Once I swap the drives, the situation is reversed: drive2 jobs succeed, drive1 jobs fail. Are there any repercussions when running the system like this long-term?
I’d really rather avoid reminding my family members to disable their backup jobs for drive1, and enable for drive2, etc.

The problem is that the database tracks the destination, and the two must match. The link from first reply offers another option (and some testing, and I think I’ve seen someone else do it). Move DB to USB drive.

I’d note that any way you do this, you need some way to not accidentally unplug drive in middle of backup.

You could schedule both jobs to run, and use a pre-backup script on each to test for the presence of their corresponding USB drive. If the USB drive is not present, it can silently cancel the job. This way there’s no changes that need to happen with Duplicati when you swap drives.

The other idea that ts678 mentions is nice in that you’d only need a single backup job defined.

In either case you have to be really careful that Duplicati is not running when you swap the drives.

1 Like