I rsync ~/ to a USB nub. A no brainer.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
My conclusion after researching this a while ago is that the good options are Borg and Restic. Both give you incremental backups with cheap timewise snapshots. They are quite similar to each other, and I don't know of a compelling reason to pick one over the other.
As far as I know, by definition, at least restic is not incremental. It is a mix of full backup and incremental backup.
rsync 😪
Backup? What?
Your car.
i do backups of my home folder with Vorta, tha uses borg in the backend. I never tried restic, but borg is the first incremental backup utility i tried that doesnt increase the backup size when i move or rename a file. I was using backintime before to backup 500gb on a 750gb drive and if I moved 300gb to a different folder, it would try to copy those 300gb again onto the backup drive and fail for lack of storage, while borg handles it beautifully.
as an offsite solution, i use syncthing to mirror my files to a pc at my fathers house that is turned on just once in a while to save power and disc longevity.
for my server I use proxmox backup server to an external HDD for my containers, and I back up media monthly to an encrypted cold drive.
For my desktop? I use a mix of syncthing (which goes to the server) and windows file history(if I logged into the windows partition) and I want to get timeshift working I just have so much data that it's hard to manage so currently I'll just shed some tears if my Linux system fails
I'm curious, is there a reason why noone uses deja-dup? I use it with an external SSD on Ubuntu and (receently) Mint, where it comes pre-installed, and did not encounter Problems.
What do you backup with dejadup? Everything under /home?
I use borg the same way you describe. Part of my nixos config builds a systemd unit that starts a backup on various directories on my machine at midnight every day. I have 2 repos: one to store locally and on a cloud backup provider (borgbase) and another thats just stored locally. That is, another computer in my house. That local only is for all my home media. I havent yet put the large dataset of photos and videos on the cloud or offsite.
I recently switched to Kopia for my offsite backup solution.
It's apparently one of the faster options, and it can be set up so that the files of the differential backups are handled by a repository server on the offsite end, so file management doesn't need to happen over the network at a snails pace.
The result is a way to maintain frequent full backups of my nextcloud instance, with almost no downtime.
Nextcloud only goes into maintenance mode for the duration of a postgres database dump, after which the actual file system backup occurs using a temporary btrfs snapshot, containing a frozen filesystem at the time of the database dump.
Since most of the machines I need to backup are VMs, I do it by the means of hypervisor. I'd use borg scheduled in crontab for physical ones.
There’s nothing saved on my system I couldn’t afford to lose. All my work stuff is saved in Google Drive for better or worse. I have a few small files in a personal Proton Drive that I backup manually. I wipe my own system a few times a year and I rarely ever save anything first. Honestly very refreshing to live your life like that. Other than my cat, pretty much all my possessions could disappear tomorrow and I’d get over it pretty quickly.
I currently use rclone with encryption to iDrive e2. I’m considering switching to Backrest, though.
I originally tried Backblaze b2, but exceeded their API quotas in their free tier and iDrive has “free” API calls, so I recently bought a year’s worth. I still have a 2 year Proton subscription and tried rclone with Proton drive, but it was too slow.
My systems are all on btrfs, so I make use of subvolumes and use brkbk
to backup snapshots to other locations.
Same! This works really well.
I keep all of my documents on a local server so all that is on any of my computers is software. So if I need to reinstall Linux I cab just do it without wording about losing anything.
Nice try, mister ransonware attacker hacker!
I've found that the easiest and most effective way to backup is with an rsync cron job. It's super easy to setup (I had no prior experience with either rsync or cron and it took me 10 minutes) and to configure. The only drawback is that it doesn't create differential backups, but the full task takes less than a minute every day so I don't consider that a problem. But do note that I only backup my home folder, not the full system.
For reference, this is the full line I use: sync -rau --delete --exclude-from='/home//.rsync-exclude' /home/ /mnt/Data/Safety/rsync-myhome
".rsync-exclude" is a file that lists all files and directories I don't want to backup, such as temp or cache folders.
(Edit: two stupid errors.)
only drawback is that it doesn't create differential backups
This is a big drawback because even if you don't need to keep old versions of files, you could be replicating silent disk corruption to your backup.
You might be interested in "rsnapshot" which uses rsync and manages daily, monthly, etc. snapshots.
This looks a bit like borgbackup. It is also versioned and stores everything deduplicated, supports encryption and can be mounted using fuse.
Thanks for your hint towards borgbackup.
After reading the Quick Start of Borg Backup they look very similar. But as far as I can tell, borg can be encrypted and compressed while restic is always. You can mounting your backups in restic to. It also seems that restic supports more repository locations such as several cloud storages and via a special http server.
I also noticed that borg is mainly written in python while restic is written in go. That said I assume that restic is a bit faster based on the language (I have not tested that).
It was a while ago that I compared them so this may have changed, but one of the main differences that I saw was that borg had to backup over ssh, while restic had a storage backend for many different storage methods and APIs.
I haven't used either, much less benchmarked them, but the performance differences should be negligible due to the IO-bound nature of the work. Even with compression & encryption, it's likely that either the language is fast enough or that it's implemented in a fast language.
Still, I wouldn't call the choice of language insignificant. IIRC, Go is strongly typed while Python isn't. Even if type errors are rare, I would rather trust software written to be immune to them. (Same with memory safety, but both languages use garbage collection, so it's not really relevant in this case.)
Of course, I could be wrong. Maybe one of the tools cannot fully utilize the network or disk. Perhaps one of them uses multithreaded compression while the other doesn't. Architectual decisions made early on could also cause performance problems. I'd just rather not assume any noticeable performance differences caused by the programming language used in this case.
Sorry for the rant, this ended up being a little longer than I expected.
Also, Rust rewrite when? :P
Timeshift for snapshots and deja backups for files
My work flow is pretty similar to yours:
For my desktop and laptops: systemd timer and service that backups every 15 minutes using restic to my NAS.
For my NAS : daily backup using restic + ZFS snapshots.
All restic backups are then uploaded daily to Backblaze B2.
Do you create ZFS snapshots and let those be backed up to B2 via restic or do you backup different types of data, one with ZFS snapshots and one with restic?
Only restic snapshots are backed-up to B2. ZFS snapshots are for undoing mistakes, though I enabled them recently and I have yet to use them.
Gotcha, thanks! Similar setup to mine then.
I recently bought a storagebox from Hatzner and set up my server to run borgmatic every day to backup to it.
I've also discovered that Pika Backup works really well as a "read only" graphical browser for borg repos.
Most of my data are on 2x16TB HDDs running an mdraid1 and then I backup it all to a usb drive with Borg Backup.
The os.qcow2 files live on my m.2 NVMe and are manually backuped to the mdraid1 before running the borg backup.
I should automate the borg backup but currently I just do it manually a few times a month.
Would also like to have two usb drives and keep one offline in another part of the house but that's another future project.