Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plans should be able to backup to multiple repos #508

Open
MrModest opened this issue Oct 6, 2024 · 5 comments
Open

Plans should be able to backup to multiple repos #508

MrModest opened this issue Oct 6, 2024 · 5 comments
Labels
enhancement New feature or request p2

Comments

@MrModest
Copy link

MrModest commented Oct 6, 2024

First of all, thank you for the backrest. Even though it might be better, it's already cool enough because it has at least a workaround for having a same backup in a multiply places.

Is your feature request related to a problem? Please describe.
Right now, I need to duplicate repository and plans per each "actual repo" per mirror.

For example, I want to have one repo for docker volumes data, another for immich photos and another for paperless docs. I also want each of them to be stored in my local machine, in my cloud drive and let's say S3 bucket. So, I have 3 "actual repos" and 3 destinations to store backups. Which means I have to create 3×3 = 9 repos and also 9 plans. Which is a huge boilerplate.

Describe the solution you'd like
Instead of creating an additional repo with essentially the same config (with only different repo URI), it would be nice to have an ability to add/remove mirrors to the repo.
Like, in the described case, I would have 3 repos and for each of them I would add a couple of mirrors.

And the backrest under the hood will just run a job with rclone copying the backup folder from the source repo to the mirrors' destination.

Also, instead of having an additional plan per mirror, it would be great to be able to choose which mirrors to use for this plan. So, after restic will finish backup to the source repo, backrest will start a rclone copy job to chosen mirrors.

Additional context
So, it's essentially what many people (I bet) are already doing, but with clutter scripting, and it would be nice to be able to control this via a nice UI :)

@MrModest MrModest added the enhancement New feature or request label Oct 6, 2024
@inode64
Copy link
Contributor

inode64 commented Oct 7, 2024

It would be something similar to tikect #465, allowing copying between repos

@garethgeorge
Copy link
Owner

Right — I’m hesitant to bake this into backrest based on some of the points on that thread (thanks for linking it @inode64!).

I think that using rclone with a script is a good workaround and reasonable if one understands / thinks through the possible pitfalls, but the footguns need thinking through if looking at built in support.

Specifically with rclone, I’m also somewhat hesitant to bake in support for automating binaries other than restic. A high quality script might be a good candidate for the cookbooks though.

@MrModest
Copy link
Author

MrModest commented Oct 7, 2024

I see it as a feature of backrest, because it would be more convenient to just have an additional config and be able to monitor statuses and logs in the backrest along with other backup history.

I can configure a cron job that will run 'rclone sync' for me. But then the whole backup flow will be de-orginized and messy :(

Even though, everyone says that "3-2-1 is a must", there's no convenient all-in-one solution that will help you to do such backups. Always some hucky ways.

So, I hope, maybe 'backrest' can become this kind of tool eventually 😅

@garethgeorge
Copy link
Owner

To add a bit more context, I think a solution is needed for the fundamental pain point which is sending data to multiple repos, but I think the restic way to do this is running the backup operation multiple times.

This probably looks like allowing repos to inherit some settings from each other I.e. shared lists of paths and excludes.

Best practice in my mind is frequently to fast and cheap storage (read: on site), and less frequent scans and uploads to offsite storage which mitigates the cost of doing multiple scans of the filesystem.

@MrModest
Copy link
Author

MrModest commented Oct 25, 2024

Seems like if to use autorestic instead of restic, the copying can be implemented easier: https://autorestic.vercel.app/location/options/copy

@garethgeorge garethgeorge changed the title Mirroring repos Plans should be able to backup to multiple repos Dec 5, 2024
@garethgeorge garethgeorge added the p2 label Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request p2
Projects
None yet
Development

No branches or pull requests

3 participants