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

Separate GUI from backends to support more backup engines #1582

Closed
aryoda opened this issue Dec 12, 2023 · 9 comments
Closed

Separate GUI from backends to support more backup engines #1582

aryoda opened this issue Dec 12, 2023 · 9 comments
Assignees
Labels
Feature requests a new feature

Comments

@aryoda
Copy link
Contributor

aryoda commented Dec 12, 2023

This feature request was posted by @solisinvictum in #1199:

Edit: If I had a free wish, i would wish BackInTime would ditch rsync/$what_ever_is_used and would use something like Borg or duplicati. Because then the user could choose any backend (wich can be mounted or used with ftp, webdav, what ever) as destination. And could use options like compression, encryption, dedublication or a combination of them.

@aryoda
Copy link
Contributor Author

aryoda commented Dec 12, 2023

@solisinvictum

I would like to understand and document your feature request here.

Could you answer some questions please?

  1. Are you asking to use Back in Time ("BiT") as GUI and allow separate backup tools (even non-rsync) as (non-GUI) backup backend?

  2. The backup/restore location is IMHO theoretically independent of the used backup backend. Should this be a generic part of the BiT GUI or configured individually in the backup backend (since some backends have their own implementations of mounting, encryption and deduplication support)?

@buhtz
Copy link
Member

buhtz commented Dec 12, 2023

Hui, what a big wish.
Ignoring the resources needed for something like this I would argument this is conceptual not possible. Borg & Co do work very different from rsync. They have different goals. Their backups do result in data-containers (e.g. ZIP) and not in files and folders in the regular file system. They also do not use hardlinks.

I would say it seems much easier to write a GUI for Borg instead of make BIT independent from its backup engine.

@emtiu
Copy link
Member

emtiu commented Dec 12, 2023

I must agree with @buhtz: In my personal opinion, it's impossible to separate Back In Time from rsync. The way that rsync uses hardlinks to save space, and the fact that the backed-up files are saved as 1-to-1 copies on a regular filesystem are the main distinguishing characteristics of Back In Time.

Take a look at https://github.com/restic/others to see what I mean: Only very few backup solutions carry the filesystem tag, which means that they store the backed-up files the same way as Back In time.

But because Back In Time operates in such a simple way, there is some flexibility to add additional features: If you want to use BiT, but have encryption, just store your BiT backups on a LUKS-encrypted volume. If you want compression, integrity-checking or (additional) deduplication, just store your BiT backups on a btrfs or ZFS file system.

Just my 2 cents :)

@solisinvictum
Copy link

solisinvictum commented Dec 12, 2023

@solisinvictum

I would like to understand and document your feature request here.

Could you answer some questions please?

1. Are you asking to use _Back in Time_ ("BiT") as GUI and allow separate backup tools (even non-`rsync`) as (non-GUI) backup backend?

2. The backup/restore location is IMHO theoretically independent of the used backup backend. Should this be a generic part of the BiT GUI or configured individually in the backup backend (since some backends have their own implementations of mounting, encryption and deduplication support)?
  1. No. Im asking for nothing in the end. it was only if i had a wish free hehe. BiT can be left like it is now. Like described in my 2-3 year old issue, i first wanted to use timeshift. but than found out that timeshift dont allow to store the snapshots/backups on a nfs share for what reason ever (so far i remember, because the dev says rsync dont support soft- and hard links on nfs shares, what isnt true). So i searched further and found BiT. But BiT "disqualified" himself, because back than it was possible to make backups etc, but if i restored the backup, all newer files (after the created backup) was still there. This makes first sense, but so far i remember, back than BiT have/had a option to restore exactly like the backup destination (so, delete all files and folders etc wich dont exists in the backup, like timeshift it does). And this dont worked. So i dont tested if i can use nfs shares as backend.

  2. No. BiT should stay like it is, like mentioned. but sure it would be nice if someone could choose for example few options depending on they system for example. If the user have btrfs, ask/reccommend the user to use btrfs (like timeshift). or a option to use borg. i personaly prefer borg (because i wrote a little script my self, there is a little description what problem i had back than. still using today: https://github.com/solisinvictum/borgrestore). So BiT with a borg option/implementation would be really nice/heaven (so BiT handles the creation of the borg repo on destination for example. deliver options from borg for compression, dedublications etc). And best thing is, it is unbeliveable easy to implement borg to BiT or any program. A example how im using it (rsync + borg), is in my repo like said :)

Edit: Read accross my own repo a little. directly from my readme: https://forum.endeavouros.com/t/searching-for-a-real-backup-solution-no-btrfs-or-timeshift/20249/9

Yep. There you can dig your gold hehe. a lot of information what problem i had back than (if it isnt fixed until today).

@aryoda
Copy link
Contributor Author

aryoda commented Dec 14, 2023

@solisinvictum

I have read your experience report about backup solutions and I am wondering if your use case is "system backup" (not only "data backup").

Since your blog article does neither contain the used BiT configuration nor mentions the paths included in the backup I can just guess and did so by looking into your script config:

https://github.com/solisinvictum/borgrestore/blob/275e5d8a815b19dc21b159f37ffaa61c6b5c88da/borgrestore.conf#L4-L25

If your use case is really "system backup/restore" with BiT (= inlcude the root folder) I think this is not the intended use case for BiT to take snapshots of a running system (root folder) because many files are in use and can neither be backed-up nor restored while the system is up (running). This is the perfect domain of imaging tools like clonezilla.

I was searching for a documentation about valid use cases BiT but couldn't find it so far.

We have to improve our documentation by adding supported and non-supported use cases (esp. for BiT root).

@buhtz
Copy link
Member

buhtz commented Dec 14, 2023

If your use case is really "system backup/restore" with BiT (= inlcude the root folder) I think this is not the intended use case for BiT to take snapshots of a running system (root folder) because many files are in use and can neither be backed-up nor restored while the system is up (running). This is the perfect domain of imaging tools like clonezilla.

This should go into our FAQ because the topic comes up often.

@aryoda
Copy link
Contributor Author

aryoda commented Dec 14, 2023

I will add a FAQ entry for that...

See also #1526, #480, #667

@aryoda aryoda self-assigned this Dec 14, 2023
@solisinvictum
Copy link

If your use case is really "system backup/restore" with BiT (= inlcude the root folder) I think this is not the intended use case for BiT to take snapshots of a running system (root folder) because many files are in use and can neither be backed-up nor restored while the system is up (running). This is the perfect domain of imaging tools liek clonezilla.

It is no problem to create a full Backup with BiT. Timeshift is doing the same. And it works too. I backup and restored with timeshift or rsync self often without problem. Restoring isnt a problem too.

I had only problem with the handling of excluded files/path like described.

aryoda added a commit to aryoda/backintime that referenced this issue Dec 22, 2023
…it-team#1587

- Corrects some other typos in code comments
- Add global locking details to dev doc of control files usage
aryoda added a commit that referenced this issue Dec 27, 2023
FAQ and dev doc: Closes #1166, #1582. Contributes to #1555 and #1587

- Add FAQ entry: Snapshot "WITH ERRORS": [E] 'rsync' ended with exit code 23
- Add FAQ entry: Does BiT support full system backups?
- Add FAQ entry: Does BiT support backups on cloud storage like OneDrive or Google Drive?
- Corrects some other typos in code comments
- Add details about global locking to dev doc of control files usage
@aryoda
Copy link
Contributor Author

aryoda commented Jan 21, 2024

Closing this since fixed with above PR

@aryoda aryoda closed this as completed Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature requests a new feature
Projects
None yet
Development

No branches or pull requests

4 participants