Having an external backup of your home directory is mandatory. Here are a few ways to back up your data, from simplest to most feature rich.
- Using cron + rsync (can be used to backup to a server)
- On Gnome: using DejaDup (duplicity)
- On KDE/Plasma: using KBackup or kup
- (advanced) using zfs or btrfs snapshots
Depending on the tool used, your backups can be versioned, meaning you can recover an old file version, or a deleted file.
Security
If backing up to an external drive, it highly advised to encrypt the full disk (with e.g. cryptsetup
, the standard tool on Linux, which can is used by most disk utility GUIs). Research data can be sensitive, but your personal data (emails, cookies, history, passwords, etc.) are much more sensitive, and should not fall in the wrong hands. Encrypting your computer's internal drive is also a good security measure, and should be done when installing the OS.
SSH Keys
Connecting to a cluster to run simulations or pushing changes to a git repository is always done through SSH. In order to avoid entering a password on every login, SSH keys provide a safe and easy way to authenticate a connection. However, private keys are very sensitive, and should always be protected by a password, which reduces the convenience of keys.
To avoid typing your key password on every login, you can setup the SSH Agent to unlock the key once and hold it in memory. Never ever use a blank password for an SSH key. The agent can even be configured to unlock the key when loggin to your desktop session, cf this execellent article from the ArchWiki.