this post was submitted on 06 Jul 2023
56 points (96.7% liked)

Selfhosted

39950 readers
638 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hey, you probably know about restic and borg for backups. They are pretty mature and very commonly used.

Rustic is a fully compatible reimplementation of restic in Rust and they do seem to have implemented a few improvements over restic. The developer even used to be a contributor on restic.

Is anyone here using it already? It looks super promising but I'd love to hear your opinion!

top 24 comments
sorted by: hot top controversial new old
[–] a1studmuffin 38 points 1 year ago (1 children)

Q. How do you know an open source project is written in Rust?

A. Don't worry, they'll tell you.

[–] [email protected] 12 points 1 year ago (1 children)

Imagine a world where all these rust devs would write new software instead of manically reimplementing existing software in rust...

[–] [email protected] 9 points 1 year ago (1 children)

Imagine a world where we're all using 30 year old software because it "still kinda works".

[–] [email protected] -1 points 1 year ago (1 children)

restic is 8 years old though

[–] [email protected] 1 points 1 year ago (1 children)

And? I didn't mention restic, nor did the person I was replying to. I was under the impression we were both talking about software being rewritten in Rust in general.

[–] [email protected] 0 points 1 year ago

Imagine a world where we're all using 30 year old software because it "still kinda works".

restic is living proof that is neither 30 years old nor "kinda works". It also doesn't suffer from typical memory access problems because it's not written in C.

Given that this whole post is about restic, this felt relevant to point out. You're apparently not talking about rewrites in Rust in general, but rather rewrites in Rust of software the likes on GNU and the Linux kernel.

[–] [email protected] 18 points 1 year ago (2 children)

What is the advantage of using this over restic?

[–] [email protected] 14 points 1 year ago (2 children)
[–] [email protected] 4 points 1 year ago

It sounds like they have some nice improvements, but I wonder why they didn't contribute them back to the original restic project.

I also wouldn't rely on an immature piece of software to handle backups - you want to avoid as many risk factors as possible with backups, since when you need to restore you really need it to work.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

FYI, you formated your link wrong, it should be [here](https://github.com/rustic-rs/rustic/blob/main/docs/comparison-restic.md)

[–] [email protected] 2 points 1 year ago (1 children)

I can never remember the order and I’m using Wefwef which doesn’t offer markdown insert. Thanks :)

[–] [email protected] 5 points 1 year ago

The way I remember the order is that the parentheses around the link would make grammatical sense outside of markdown (the goal of markdown is to still be fully readable even when looking at the raw source).

For example if I were posting on a forum that didn't have markdown support which one of these would make more sense:

  1. You can find that on this lemmy instance (https://lemmy.world).
  2. You can find that on (this lemmy instance) https://lemmy.world.

Option 2 makes no sense grammatically. Then you just need to use the square brackets (which rarely show up in non-markdown text) to denote the link range.


Alternatively, if you still have a hard time remembering the order, you can use reference-style links which make it even more readable outside of markdown rendered contexts (note that there are no parentheses in this version, nothing to get confused):

[Here is a link][1] and [here is another link][2].

[1]: http://example.org
[2]: http://example.com
[–] [email protected] -4 points 1 year ago (2 children)

Looks like the rust-cult is at it again rewriting existing stuff for no gain but pushing rust on others.

[–] [email protected] 15 points 1 year ago* (last edited 1 year ago) (1 children)

A lot of the time, rust rewrites are more for devs, than users. Rust code is just easier to maintain (in the long-run 😉) and harder to make buggy. But some times the apps do just run faster when compiled with Rust.

[–] [email protected] 3 points 1 year ago (1 children)

Is it that much better than Go? Seems like the original restic was written in Go which afaik is pretty similar performance and syntax wise.

[–] [email protected] 7 points 1 year ago

Go has its fair share of design problems and is not as memory efficient due to its garbage collector. Also it will probably always be linked to Google in some way.

[–] [email protected] 4 points 1 year ago (1 children)

Use fd instead of find, or rg instead of grep and tell me there's no gain. The speed increase alone is astounding, and beyond worth it.

[–] [email protected] 3 points 1 year ago

Oh shit, will definitely be trying this out. I tend to make wildly overzealous find searches

[–] [email protected] 13 points 1 year ago

Wow, people in this thread really have strong opinions about other people writing similar programs in different languages. Who cares? Why is more choice a bad thing?

[–] [email protected] 7 points 1 year ago

I use restic extensively, and it works really really well... until it breaks. Then there's next-to-nothing you can do to fix the repo.

Rustic, on the other hand, has lock-less design, and repair options, so I end up using it to fix things. However, it has a number of rough edges: it uses its own wacky config file, its include/exclude options are wildly different and a bit painful, and to use a bunch of repo backends (like S3), you need to install, configure, and use rclone, which is poorly documented by rustic.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

Oh great, another project named "rustic". There's also a wrapper for Restic called Rustic, also written in Rust. No activity in the repo for 3 years, though.

I liked the config file support in the old Rustic, and seeing the same thing in the new one does at least attract me a bit.

But a Rust rewrite of a software written in Go, a language that is already pretty efficient? I don't understand why.

[–] [email protected] -2 points 1 year ago (2 children)

What's the advantage of this over

sudo tar -czvf /backupFile.tar.gz folder/to/backup/ gpg -o backupFile.tar.gz.gpg --symmetric backupFile.tar.gz

[–] [email protected] 16 points 1 year ago

Less storage space (since you don't duplicate the data that has not been changed since the last backup), and ability to check different versions / restore / rollback.

[–] [email protected] 5 points 1 year ago

Mostly it comes down to data types, disk space, and restores. Even if you're doing incremental backups with tar it isn't as fast, space efficient, or easy to restore, (in most cases) as something like restic, borg, etc..

I have found when you just need something simple that just works everywhere then its hard to beat tar!

load more comments
view more: next ›