Surely restic or borg would be better for backups?
Rsync can send files and not delete stuff, but there's no versioning or retention settings.
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:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Surely restic or borg would be better for backups?
Rsync can send files and not delete stuff, but there's no versioning or retention settings.
If you add --delete-before, it absolutely can delete stuff.
Yeah but then it's not really a good backup!
For versioning/retention, just use snapshots in whatever filesystem you're using (you are using a proper filesystem like ZFS or BTRFS, right?).
How does that get sent over rsync though? Wouldn't you need snapshots on the remote destination server?
Why not just use a backup utility instead?
Yes, async copies files to the remote server, the remote server takes regular snapshots.
Why not just use a backup utility instead?
What is that utility providing that snapshots + rsync doesn't. If rsync + snapshots is sufficient, why overcomplicate it with a backup utility?
The main things that come to mind are you have to test/monitor 2 seperate actions instead of 1, and restores of single files could be more difficult since you need to login to the backup server, restore the file from a snapshot, then also copy that file back to your PC.
My point is, how often do you actually need to restore from backup? If it's frequent, consider a dedicated tool for whatever that thing is. If it's infrequent, it'll probably easier to just learn how to do it every five years or whatever.
If you like borg/restic/etc, by all means, use it.
My point is that most people probably don't need it. Snapshots are something you set up once, and you should probably use them even if you're using something like borg for any files that aren't covered (e.g. config files on the server). Rsync is also something you set up once, and checking it is the same as any other service.
I tried to use it via tailscale but it disconnects very easily - is to be expected?
I would not expect rsync to have frequent disconnects, no.
If I connect to the same server via my own VPN I don't have the disconnections, so I'm thinking it's tailscale cutting connections after too much traffic. But connecting via tailscale is so much more convenient 😢
But if you're working with Linux you're going to need to know it.
Nope. I never have needed to know it. I only ever used it because I was either curious to know how to use it or because it was more convenient than other solutions. But scp is basically just as convenient.
It doesn't do diffs, so it's really bad if there's a lot of duplicate data.
If you want to use it for backups, there are other solutions, so you still don't need to use it or know it. You can use something else. That's my only point. 🤷♂️
And "really bad" is all relative. If you are only backing up your home drive with documents or whatever, copying a few unnecessary gigabytes over a LAN connection isn't too bad at all. But scp isn't what you should be using for backups anyway. I only used rsync for file transfer...
I use rsync for all kinda of things:
I only really use scp if the system doesn't already have rsync.
Alright. But you don't need to know rsync. That's my only point. 👍👍
Sure, but you should probably be aware of what it is and what it does. It's incredibly common and will be referenced in a ton of documentation for Linux server stuff.
You won't need to unless you run a server in that case. 👍 But the only condition here was "working with Linux".
Like I said, I've been using Linux at home and for work for over a decade, maybe 15+ years, never once did I need to use rsync or know what it is.
That being said, it was convenient when I used it, but never did I need it.
This is the self-hosted community, so that's the context I was assuming.
I would generally argue that rsync is not a backup solution. But it is one of the best transfer/archiving solutions.
Yes, it is INCREDIBLY powerful and is often 90% of what people actually want/need. But to be an actual backup solution you still need infrastructure around that. Bare minimum is a crontab. But if you are actually backing something up (not just copying it to a local directory) then you need some logging/retry logic on top of that.
At which point you are building your own borg, as it were. Which, to be clear, is a great thing to do. But... backups are incredibly important and it is very much important to understand what a backup actually needs to be.
I would generally argue that rsync is not a backup solution.
Yeah, if you want to use rsync specifically for backups, you're probably better-off using something like rdiff-backup
, which makes use of rsync to generate backups and store them efficiently, and drive it from something like backupninja
, which will run the task periodically and notify you if it fails.
rsync
: one-way synchronization
unison
: bidirectional synchronization
git
: synchronization of text files with good interactive merging.
rdiff-backup
: rsync
-based backups. I used to use this and moved to restic
, as the backupninja
target for rdiff-backup
has kind of fallen into disrepair.
That doesn't mean "don't use rsync
". I mean, rsync
's a fine tool. It's just...not really a backup program on its own.
Ive personally used rsync for backups for about....15 years or so? Its worked out great. An awesome video going over all the basics and what you can do with it.
And I generally enjoy Veronica's presentation. Knowledgable and simple.
Her https://tinkerbetter.tube/w/ffhBwuXDg7ZuPPFcqR93Bd made me learn a new way of looking at data. There was some tricks I havent done before. She has such good videos.
Why videos? I feel like an old man yelling at clouds every time something that sounds interesting is presented in a fucking video. Videos are so damn awful. They take time, I need audio and I can't copy&paste. Why have they become the default for things that should've been a blog post?
Thank you for putting into words what ive subconsciously been thinking for years. Every search result prioritizes videos at the top and I'm still annoyed every time. Or even worst I have to hunt through a 10 minute video for the 30 seconds of info I needed. Stoohhhhpppp internet of new! Make it good again!
Ad money.
Blogs can have ads.
Rsnapshot. It uses rsync, but provides snapshot management and multiple backup versioning.
Yes, but a few hours writing my own scripts will save me from several minutes of reading its documentation...
It's slow?!?
That part threw me off. Last time i used it, I did incremental backups of a 500 gig disk once a week or so, and it took 20 seconds max.
Yeah it’s slow
What's slow about async? If you have a reasonably fast CPU and are merely syncing differences, it's pretty quick.
I'll never not upvote Veronica Explains. Excellent creator and excellent info on everything I've seen.
rsnapshot is a script for the purpose of repeatedly creating deduplicated copies (hardlinks) for one or more directories. You can chose how many hourly, daily, weekly,... copies you'd like to keep and it removes outdated copies automatically. It wraps rsync and ssh (public key auth) which need to be configured before.
I was planning to use rsync to ship several TB of stuff from my old NAS to my new one soon. Since we're already talking about rsync, I guess I may as well ask if this is right way to go?