What does your backup solution look like?

Backups are relatively important, but what do people use for their solution?

Added off-topic

I have some frequently-used Documents, Pictures, Audiobooks, and eBooks, and just copy 4 folders from an external HDD on fresh Linux installs. Then I transfer any games I want. If that HDD was destroyed, I only really need a password database file and I have that in other places.

I keep OS and app configs on my wiki (here’s my Fedora notes).

I’m not a fan of copying config files and dotfiles and restoring them as there’s no guarantee you’ll have the same versions of stuff on the next install (especially with distro-hopping), and then you’d have to trust that app to migrate the older settings, and other old stuff if copied like caches, or have even more fun if you’re restoring newer config to an older app. Fresh install, fresh settings :stuck_out_tongue:

My phone, personal PC, and laptop synch (with syncthing) a few key directories to the shared computer in the kitchen. That PC runs restic every night to back up a couple of home directories to a local mini pc with an external drive and to B2.

Hello @penguinskies ,
I use Snapper via BTRFS Assistant. I am only backing up my home, but I do copy my /etc into a directory in my home so have a copy of it. I have been thinking of setting up systemd-homed but am holding off for now.

rsync --archive --delete-after --inplace --hard-links --verbose "Files and directories I want to backup"  "External harddisk I plug manually"

I use restic inside a podman container, both for desktop and servers. As storage location I use blackblaze b2 which together with restics deduplication and compression keeps backups really cheap. Backups are done automatically every day and I can go back 1 year.

I use the following quadlet file for backups and have another one that does a forget + prune.

[Container]
Image=docker.io/restic/restic:latest
HostName=container
Exec=backup /bkp

# env
EnvironmentFile=%h/.config/containers/systemd/backup/backup.env

# storage
Volume=%h/Documents:/bkp/Documents:ro
Volume=%h/Music:/bkp/Music:ro
Volume=%h/.ssh:/bkp/.ssh:ro
Volume=%h/.var/app/org.gnome.World.Secrets/data:/bkp/secrets:ro
Volume=%h/.config:/bkp/.config:ro
Volume=backup-cache.volume:/root/.cache

# security
SecurityLabelDisable=true
ReadOnly=true
NoNewPrivileges=true
DropCapability=ALL
AddCapability=DAC_OVERRIDE

[Service]
Restart=on-failure
RestartSec=10min

IOSchedulingClass=idle
Nice=19

For backing up my home directory to an external hard drive, I use the Déjà Dup program. I perform backups with every major file change to ensure that I always have up-to-date backups of my important data.

I have always used Grsync, a GUI for rsync. I would start that manually, mostly in the weekend. Grsync has the ability to show the rsync line which it starts to perform the backup.

I now use that line in a script and start it using a systemd timer, at the end of the evening. It is now a daily backup instead of a weekly. Since not much changes, doing the backup is done very fast. I am using Kinoite and this distro doesn’t use cron(tab), but systemd timers do the same and can even do more.
The backup is on a NAS which is mounted through the x-systemd.automount feature. It’s on 24/7 and apart from being a backup, it is also used as an extension of my laptop’s harddisk.

I aso have a USB external disk to which I backup the NAS backup whenever I feel like it. This one is not connected to the laptop, I need to plug it in first. More security but also more of a hassle.

:eyes:

I created and use EZ Bkup for this purpose.

I can see that I’m in a small minority of users on this one: I dual boot both MS Windows and Fedora, each with their native whole-partition encryption schemes; I use ddrescue to clone entire drives or partitions, depending on how long it’s been since I’ve done a backup for a particular set of partitions. That way I don’t have unencrypted files in my backup archive.