this post was submitted on 04 Jul 2023
161 points (98.8% liked)

Selfhosted

40345 readers
418 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
 

I have a home server that I’m using and hosting files on it. I’m worried about it breaking and loosing access to the files. So what method do you use to backup everything?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 44 points 1 year ago* (last edited 1 year ago) (4 children)

Backblaze on a B2 account. 0.005$ per gb. You pay for the storage you use. You pay for when you need to download your backup.

On my truenas server, it's easy as pie to setup and easy as 🥧 to restore a backup when needed.

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

I'll add to this that restic works amazingly with Backblaze. Plus a dozen or so other backup options.

[–] Wxfisch 5 points 1 year ago

I also recommend B2, it’s an S3 compatible service so any backup software/scripts/plugins that work with S3 should work with Backblaze.

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

B2 is awesome. I have Duplicati set up on OpenMediaVault to backup my OS nightly to B2 (as well as a local copy to the HDD).

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

Maybe I'm stupid, but what is B2? A Backblaze product?

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

Yes it's their cloud storage.

load more comments (3 replies)
[–] [email protected] 23 points 1 year ago (5 children)
[–] dustojnikhummer 4 points 1 year ago

The "small to medium business" route I see!

load more comments (4 replies)
[–] [email protected] 17 points 1 year ago* (last edited 1 year ago) (2 children)

You guys back up your server?

[–] KairuByte 2 points 1 year ago

If your data is replaceable, there’s not much point unless it’s a long wait or high cost to get it back. It’s why I don’t have many backups.

load more comments (1 replies)
[–] writ 14 points 1 year ago
[–] JubilantJaguar 11 points 1 year ago (1 children)

ITT: lots of the usual paranoid overkill. If you do rsync with the --backup switch to a remote box or a VPS, that will cover all bases in the real world. The probability of losing anything is close to 0.

The more serious risk is discovering that something broke 3 weeks ago and the backups were not happening. So you need to make sure you are getting some kind of notification when the script completes successfully.

load more comments (1 replies)
[–] [email protected] 10 points 1 year ago
[–] satanmat 9 points 1 year ago (1 children)

3-2-1

Three copies. The data on your server.

  1. Buy a giant external drive and back up to that.

  2. Off site. Backblaze is very nice

How to get your data around? Free file sync is nice.

Veeeam community version may help you too

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

I'm not sure how you understand the 3-2-1 rule given how you explained it, even though you're stating the right stuff (I'm confused about your numbered list..) so just for reference for people reading that, it means that your backups need to be on:

  • 3 copies
  • 2 mediums
  • 1 offsite location
load more comments (1 replies)
[–] [email protected] 8 points 1 year ago

cronjobs with rsync to a Synology NAS and then to Synology's cloud backup.

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

Restic to b2. Works great. I've also used duplicati in the past to b2 as well.

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

Same setup here. I've got a really basic script running nightly from cron. B2 is cheap as, and having an encrypted backup that's versioned is great for piece of mind.

At one point I was away from home and my (little rpi) server wasn't accessible, but with the restic repo up on B2 I was able to easily find a file I urgently needed remotely. It's awesome.

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

Proxmox Backup Server. It's life-changing. I back up every night and I can't tell you the number of times I've completely messed something up only to revert it in a matter of minutes to the nightly backup. You need a separate machine running it--something that kept me from doing it for the longest time--but it is 100% worth it.

I back that up to Backblaze B2 (using Duplicati currently, but I'm going to switch to Kopia), but thankfully I haven't had to use that, yet.

load more comments (7 replies)
[–] BigDev 6 points 1 year ago

I am lucky enough to have a second physical location to store a second computer, with effectively free internet access (as long as the data volume is low, under about 1TB/month.)

I use the ZFS file system for my storage pool, so backups are as easy as a few commands in a script triggered every few hours, that takes a ZFS snapshot and tosses it to my second computer via SSH.

[–] mariom 6 points 1 year ago (1 children)

Autorestic, nice wrapper for restic.

Data goes from one server to second server, and vice versa (different provider, different geolocation). And to backblaze B2 - as far as I know cheapest s3-like storage

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

Wasabi might also be worth mentioning, a while back I compared S3-compatible storage providers and found them to be cheaper for volumes >1TB. They now seem to be slightly more expensive (5.99$ vs. 5$), but they don't charge for download traffic.

load more comments (1 replies)
[–] Ferawyn 5 points 1 year ago

Various different ways for various different types of files.

Anything important is shared between my desktop PC's, servers and my phone through Syncthing. Those syncthing folders are all also shared with two separate servers (in two separate locations) with hourly, daily, weekly, monthly volume snapshotting. Think your financial administration, work files, anything you produce, write, your main music collection, etc... It's also a great way to keep your music in sync between your desktop PC and your phone.

Servers have their configuration files, /etc, /var/log, /root, etc... rsynced every 15 minutes to the same two backup servers, also to snapshotted volumes. That way, should any one server burn down, I can rebuild it in a trivial amount of time. This also goes for user profiles, document directories, ProgramData, and anything non-synced on windows PC's.

Specific data sets, like database backups, repositories and such are also generally rsynced regularly, some to snapshotted volumes, some to regulars, depending on the size and volatility of the data.

Bigger file shares, like movies, tv-shows, etc... I don't backup, but they're stored on a distributed GlusterFS, so if any one server goes down, that doesn't lose me everything just yet.

Hardware will fail, sooner or later. You should see any one device as essentially disposable, and have anything of worth synced and archived automatically.

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

Borgbackup to cloud storage on rsync.net

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

Borgbackup, using borgmatic as a frontend, to a storage VPS. I backup dozens of machines this way. I simply add a user account for each machine on the VPS, then each machine backs up over ssh to its own account.

[–] greenhan3le 5 points 1 year ago

Borgbase to borgbase

Rock solid for years

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

My server runs Plex and has almost 50 TB of video on it. After looking at all the commercial backup options I gave up on backing up that part of the data. :-(

I do backup my personal data, which is less than a terrabyte at this point. I worked out an arrangement with a friend who also runs a server. We each have a drive in the other's server that we use for backup. Every night cron runs a simple rsync script to do an incremental backup of everything new to the other machine.

This approach cost nothing beyond getting the drives. And we will still have our data even if one of the servers is physically destroyed and unrecoverable.

load more comments (4 replies)
[–] [email protected] 5 points 1 year ago

Restic to multiple repositories, local and remote.

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

I have everything in its own VM, and Proxmox has a pretty awesome built in backup feature. Three different backups (one night is to my NAS, next night to an on-site external, next night to an external that's swapped out with one at work - weekly). I don't backup the Proxmox host because reinstalling it should it die completely is not a big deal. The VM's are the important part.

I have a mini PC I use to spot check VM backups once a month (full restore on its own network, check its working, delete the VM after).

My Plex NAS only backs up the movies I really care about (everything else I can "re-rip from my DVD collection").

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

The simplicity of containerized setup:

  • docker-compose and kubernetes yaml files are preserved in a git repo
  • nightly cron to create database dumps
  • nightly cron to run rsync to backup data volumes and database dumps to rsync.net
[–] [email protected] 4 points 1 year ago (1 children)

Hourly backups with Borg, nightly syncs to B2. I've been playing around with zfs snapshots also, but I don't rely on them yet

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

I run everything in docker. I have an ansible playbook that backs up all the docker volumes to a minio server I'm running on a separate machine. I periodically upload backups to idrivee2 with the same playbook

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

restic backup to Azure and Backblaze

[–] lp0101 3 points 1 year ago (2 children)

Rsnapshot on a second server, saving 7 daily backups, 4 weekly backups, and 6 mk they backups

load more comments (2 replies)
[–] [email protected] 3 points 1 year ago

Running a Duplicacy container backing up to Google drive for some stuff and Backblaze for mostly all other data. Been using it for a couple years with no issues. The GUI and scheduling is really nice too.

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

I run linux for everything, the nice thing is everything is a file so I use rsync to backup all my configs for physical servers. I can do a clean install, run my setup script, then rsync over the config files, reboot and everyone's happy.

For the actual data I also rsync from my main server to others. Each server has a schedule for when they get rsynced to so I have a history of about 3 weeks.

For virtual servers I just use the proxmox built in backup system which works great.

Very important files get encrypted and sent to the cloud as well, but out of dozens of TB this only accounts for a few gigs.

I've also never thrown out a disk or USB stick in my life and use them for archiving, even if the drive is half dead as long as it'll accept data I shove a copy of something on it, label and document it. There's so many copies of everything that it can all be rebuild if needed even if half these drives end up not working. I keep most of these off-site. At some point I'll have to physically destroy the oldest ones like the few 13 GB IDE disks that just make no sense to bother with.

[–] please_lemmy_out 3 points 1 year ago (1 children)

I use Duplicati and backup server to both another PC and the cloud. Unlike a lot of data hoarders I take a pretty minimalist approach to only backing up core (mostly docker) configs and OS installation.

I have media lists but to me all that content is ephemeral and easily re-acquired so I don't include it.

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

Duplicati is great in many ways but it's still considered as being in beta by it's developers. I would not trust it if the data you back up is extremely important to you.

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

For config files, I use tarsnap. Each server has its own private key, and a /etc/tarsnap.list file which list the files/directories to backup on it. Then a cronjob runs every week to run tarsnap on them. It's very simple to backup and restore, as your backups are simply tar archives. The only caveat is that you cannot "browse" them without restoring them somewhere, but for config files it's pretty quick and cheap.

For actual data, I use a combination of rclone and dedup (because I was involved in the project at some point, but it's similar to Borg). I sync it to backblaze because that's the cheapest storage I could find. I use dedup to encrypt the backup before sending it to backblaze though. Restoration is very similar to tarsnap:

dup-unpack -k keyfile snapshot-yyyymmdd | tar -C / -x [files..] .

Most importantly, I keep a note on how to backup/restore: Backup 101

[–] conrad82 3 points 1 year ago

I use proxmox server and proxmox backup server (in a VM 🫣) to do encrypted backups.

A raspberry pi has ssh access to PBS and it rsync all the files, and then uploads them to backblaze using rclone.

https://2.5admins.com/ recommended "pull" backups, so if someone hacks your server they don't have access to your backups. If the pi is hacked it can mess with everything, but the idea is that is has a smaller attack surface (just ssh).

PS. If you rclone a lot of files to backblaze use https://rclone.org/docs/#fast-list , or else it will get expensive

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

I use duplicacy to backup to my local NAS and to Storj.io. In case of a fire I'm always able to restore my files. Storj.io is cheap, easy to access from any location and your files are stored and duplicated on multiple different locations.

I have used duplicity before but restoring from a new installation takes a while, as duplicity has to reanalyze the storage.

load more comments (1 replies)
[–] [email protected] 2 points 1 year ago

Proxmox backs up the VMs -> backups are uploaded to the cloud.

[–] TheWoozy 2 points 1 year ago

I have 2 servers that backup to each other. I also use B2 for photos and important stuff.

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

Cronjobs and rclone have been enough for me for the past year or so. Interestingly, I've only needed to restore from a backup once after a broken update. It felt great fixing that problem so easily.

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

I’m backing up my stuff over to Storj DCS (basically S3 but distributed over several regions) and it’s been working like a charm for the better part of a year. Quite cheap as well, similar to Backblaze.

For me the upside was I could prepay with crypto and not use any credit card.

load more comments
view more: next ›