I’m settling down with EndeavourOS and I want to make my installation as robust as possible. That means backups. But I never bothered doing backups before. So I’m going to explain what I plan to do and then you can tell my why my plan is terrible, and what the real best practices are.
I intend to use Timeshift to take snapshots of the system (excluding home folder) and just store them on the same 1TB SSD that my system is installed on. And I’m going to make a git repo of my entire home folder, clone it to an external SSD, and occasionally commit and push updates to that external drive as a backup of my files.
Alternatively:
I could just use Clonezilla/Rescuezilla to make a backup of everything to the external SSD. The only issue with this is I don’t know if you can just update the backup (like with a snapshot or a git repo), or if you need to totally copy the entire drive every time.
OK now tell me why these ideas are terrible and what I should actually do. Also tell me if I should be using something like rsync or rsnapshot instead of timeshift.
Forget about snapshots, Timeshift, stuff like that. You don’t need it. If you break something, fix it, it will be an invaluable experience and you’ll learn about your OS much more than if you just restore a snapshot or reinstall.
Have all important data backed up, ideally multiple times and on external hard drives.
Regarding point 2, I have 4 categories of importance:
Category 4: not important data. It is stuff that would be inconvenient to lose, but not a big deal. Usually stuff like downloaded media: films, tv shows, music that is easy to find. Getting it back would involve downloading it again, that’s it. It’s unlikely that it will ever be unavailable. I don’t back that up. Instead, I have it on dozens of external drives.
Category 3: stuff that is very difficult to replace. Usually rarer media, films, books, music that is difficult to find. I have that backed up on external drives, in at least two copies. I could probably replace it, but it would be a lot of work.
Category 2: stuff that is irreplaceable, and would be quite bad to lose. Original stuff I’ve made, various projects, etc… I have this backed up using Borg backup, in multiple copies on external drives. This is also the stuff that changes a lot, as I work on it, so I like to have several versions backed up, and here data corruption is quite possible, so an incremental backup solution like Borg is important (because I don’t want to backup a corrupted file and destroy the good version).
Category 1: priceless stuff. Like photos of my deceased family members and pets, memories of time long past… Also old finished projects that I am especially proud of. Stuff I couldn’t possibly bare to lose and which doesn’t change at all. In addition to having multiple copies of it on external drives, I also burn it on DVDs and distribute it to multiple family members and friends. Some get encrypted versions of it, the trustworthy ones get a non-encrypted version. But it exists in multiple copies on multiple locations.
This sounds reasonable. What do you use for those backups? Is git a legit backup method, so I don’t have to awkwardly drag & drop new versions of all my files?
Personally I don’t use Timeshift, but I do use rsync for my personal data.
I think you are using KDE (?) in which case you can use kup as a GUI frontend for rsync. You can set it so that every time you attach your external SSD, an icon will appear in the system tray and you can copy the folders/files you have specified.
No, git is a version control system, not a backup solution.
There are basically two solutions I use:
Simply copy the files onto a different drive and verify the checksum. This is good for stuff that never changes, you back it up once (multiple times) and you never overwrite that backup, you treat it as read-only. rsync is excellent for that, that’s what I use.
Borg backup. This is for stuff that changes, stuff you’re working on. You make backups of it on some schedule, daily, weekly, monthly, depending on how often it changes. Such data is vulnerable to file corruption, so simply copying it over the old backup is dangerous, as you can replace a file with its corrupted version and not know about it. Borg solves this problem, as it is an incremental backup solution, so you can restore old versions of any file, before possible corruption. The downside is that it’s not as simple as just copying files over, but the additional complication is well worth it, in my opinion.
I never use any “cloud”-based backup. The “cloud” is just an Orwellian term for “somebody else’s computer”.
Apart from making backups of my personal data on external drives, the only thing that I backup from the system is the dot files and folders under home and also /etc.
If the system is beyond reparation spending “reasonable” time and effort, I could reinstall and restore the data and configs.
I went with Gnome because it was just faster and snappier than Plasma. So now I’m seeing some comments below from @pebcak saying that Grsync is a good GUI for a “non-KDE system.”
But @Kresimir is suggesting that Borg is better because it also tracks changes (which is basically what I was looking for in the git solution which they discouraged). Does G/rsync not track changes? Is there a meaningful difference between Borg and G/rsync?
You can set rsync to only copy those files/folders that have changed and delete those that have been deleted. Any unchanged files remain in your backup.