Recommendations for Client > Server > Server Backups

How should I configure backups for this situation?

==Part 1===============
Client 1 & 2 → Server 1 (Duplicacy backups on clients to Server 1)
Client 3, 4, 5 → Server 2 (Duplicacy backups on clients to Server 2)

==Part 2===============
Server 1 ⇆ Server 2 (Duplicacy backups to each other ⇆ via Wireguard VPN.)

What is the best way to backup the client data stored on each server?
I looked at using the copy command on the servers to try and see if that would be best for the client data, but I’m not seeing how that would be implemented. Should I forget that and just have the servers run backup on all the client data?

What type of servers? Can you run software on those servers?

Two Unraid servers. They are both backing up data to each other with Duplicacy already.

Then the mutual duplicacy copy from each unraid to another seems to be the way to go, specifically designed for this usecase.

I guess I don’t understand your question then :slight_smile: – please elaborate what did not work?

On Server 1, the only storage destination available is Server 2.
On Server 2, the only storage destination available is Server 1.

So how could copy be used? The only way that I see copy could be used is if I configure it on the clients – not the servers. But then each client would have to have access to both Server 1 and 2. This is not the case nor do I want it to be.

Put copy aside (unless you have something there) and consider the backup that the servers are doing:

The “client data” on the servers is Duplicacy backups. (chunks, snapshots, config, etc…) If I have the servers run backups on those backups, is there going to be any issues or needed optimization with chunks and snapshots?

Example I’m trying to account for:
If Client 3 and Server 2 both had catastrophic failures, to restore Client 3 data from Server 1, I’d actually have to restore it to Server 2 first before I could restore it back to Client 3 – correct? There would not be a way to restore from Server 1 directly to Client 3. Because they are totally different backups?

Does that make sense? :grinning:

On server1 configure both storages:

  • “Server 1” pointing to a local folder on Server 1 where duplicacy datastore is located
  • “Server 2” pointing to the server 2 (SFTP, SMB, etc), the same way you configure it on the clients

Then configure two schedules:

  • COPY from “Server 1” to “Server 2”.
  • COPY from “Server 2” to “Server 1”.

Done.

Don’t backup backups.

No. You can restore it from sever 1 directly. Remember – it contains copy of everything that server 2 has had. You would add storage Server 1 on the client3 and restore.

The only thing to ensure is to use unique snapshot IDs across all clients.

2 Likes

Thank you for all the clarifications! I looked into setting up a local storage, but wasn’t sure if I was on the right track. :100:

1 Like

Technically you could configure server 1 storage as a remote connection to the same server 1 – but reaching out to the local disk over network seems unnecessarily complicated :slight_smile:

This wouldn’t be necessary if the clients were backing up to separate folders on the server – correct?

But then I have to configure separate storage locations to copy all the client data.

Single datastore must have unique snapshot ids. So if you copy into a single datastore the incoming snapshot ids must be unique, regardless of whether they come from the same or different datastores.

You can of course keep everything separately — each client targeting separate datastore that is copied to another separate datastore on the other sever — but this will defenestrate the duplicacy’s main competitive advantage — deduplication across machines. It’s very unlikely your clients have drastically different non-overlapping data.

If you already have conflicting sdnapshot ids and the storage is not encrypted — you can rename them manually. If storage is encrypted — you can’t.

1 Like

Sorry for all the questions…you’ve been very helpful!

How do I get the storage to be copy compatible?

The docs say I need to add the storage with the -copy option. Is there a way to do that in the Web GUI?

I’m not good with using CLI on my Unraid Docker containers…

I’m not sure if it’s possible to do it on the WebUI. But you dont’ have to do it on unraid either.

  1. On your pc/Mac, download duplicacy-cli executable
  2. Create an empty temp folder. In that folder:
    1. Initialize storage on Server 1
    2. Add storage on Server 2 with -copy pointing to storage allocated on Server one in previous step.
  3. Delete the temp folder.

Now you have two initialized storages on two servers that are copy-compatible. Proceed to add those storages in WebUI on respective servers.