Can you please share your backup strategies for linux? I’m curious to know what tools you use and why?How do you automate/schedule backups? Which files/folders you back up? What is your prefered hardware/cloud storage and how do you manage storage space?
I was talking with a techhead from the 80s about what he did when his tape drives failed and the folly that is keeping data alive on a system that doesn’t need to be. His foolproof backup storage is as follows.
- At Christmas buy a new hard drive. If Moore’s law allows, it should be double what you currently have
- Put your current backup hardrive into a SATA drive slot. Copy over backup into new hard drive.
- Write with a sharpie the date at which this was done on the harddrive. The new hard drive is your current backup.
- Place the now old backup into your drawer and forget about it.
- On New Years Day, load each of the drives into a SATA drive slot and fix any filesystem issues.
- Put them back into the drawer. Go to step 1.
I use Pika Backup to backup my home to this super cheap cloud host.
I use Duplicity to backup my home directory, excluding Steam and Downloads folders. It is setup to backup weekly to my NAS mounted as NFS. The NAS has a weekly cron task to upload the backups to pCloud using rclone. I backup this way, several computers (2 desktop, 2 laptop, the NAS as well). The files included in this strategy are essentially my photos, documents and configs. My software installations, games, media library are not backed up.
All of my servers make local dumps of their databases and config files to directories owned by unprivileged users. This includes file paths, permissions, and ownerships (so I know how to put them back).
My primary research server at home uses rsync to pull copies of those local backups from my servers.
My primary research server uses Restic to make a daily incremental backup to Backblaze’s B2 service.
Keep everything on Nextcloud and back that up via Proxmox Backup Server.
Nuke and pave takes me less time to reconfigure Plasma and install NC client than bothering to back anything up directly.
etckeeper and borg/vorta
I try to be good about everything being installed in packages, even if Im the one that made the package. that means I only have to worry about backing up my local package archive. Ive never recreated a system from a backup,
I have my important folders synced to my Nextcloud and create nightly snapshots of that to a different drive using borg.
One thing I still need to do, is offsite encrypted backups using rsync.
I use rsync to incrementally back up / to a separate drive, as well as a drive on another device (my server), which then packs, compresses and encrypts the latest backup of all devices daily, and uploads them to Hetzner as well as GDrive.
I use Borg Backup, automated with a bash script that Borg provides. A cron job runs the script at the desired frequency. I keep backups on different computers, ideally I would recommend one copy in the cloud and one copy on a local machine. Borg compresses and encrypts its backups.
Edit: I migrated a server once using the backups from this system and it worked great.
I should really cron my Borg script rather than waiting for a sinking anxiety to set it and doing backups at random intetvals
Make sure to check if it actually ran from the cron job, cron is a finnicky tool
The important stuff is in cloud storage using Cryptomator (I’m hoping that rclone should make sync simple), I should probably set up time shift in case things do go wrong
Rclone makes Cryptomator redundant since it has built in encryption, if you want it simple.
Ooh that’s interesting to know! Though I do make use of Cryptomator on my phone too, is rclone on Android in a useable state?
Yup, either through Termux or Round Sync
Not to save stuff
I too am raw-dogging my Linux install
I’m using
rustic
, a lock-free rust-written drop-in-replacement ofrestic
, which (I’m referring torestic
and therefore in extension torustic
) supports always-encrypted, deduplicating, compressed and easy backups without you needing to worry about whether to do a full- or incremental-backup.All my machines run hourly backups of all mounted partitions to an append-only repo at borgbase. I have a file with ignore pattern globs to skip unwanted files and dirs (i.e.:
**/.cache
).While I think borgbase is ok, ther’re just using hetzner storage boxes in the background, which are cheaper if you use them directly. I’m thinking of migrating my backups to a handfull of homelabs from trusted friends and family instead.
The backups have a randomized delay of 5m and typically take about 8-9s each (unless big new files need to be uploaded). They are triggered by persistent systemd-timers.
The backups have been running across my laptop, pc and server for about 6 months now and I’m at ~380 GiB storage usage total.
I’ve mounted backup snapshots on multiple occasions already to either get an old version of a file, or restore it entirely.
There is a tool called
redu
which is likencdu
but works onrestic
/rustic
repos. This makes it easy to identify which files blow up your backup size.This is the correct way. I wish hetzner had a storage box size between the 1TB and 5TB version though.
- Work in a cloud synced folder by default.
That’s all my step 🦥
Same, but with rsync.
I’m just not competent.
Me n’ Backup don’t go in the same sentence…it’s all “Restore” fault
I sync important files to s3 from a folder with awscli. Dot files and projects are in a private git repos. That’s it.
If I maintained a server, I would do something more sophisticated, but installation is so dead simple these days that I could get a daily driver in working order very quickly.