107 lines
5.7 KiB
Markdown
107 lines
5.7 KiB
Markdown
# Backup my way
|
|
|
|
First thing first, I want to list my own devices, which I have through the years:
|
|
|
|
- ~~Laptop Samsung NP300E4Z-S06VN (Old laptop which I give to my mom)~~
|
|
- ~~[Laptop Dell Inspiron 15 3567](https://www.dell.com/support/home/en-vn/product-support/product/inspiron-15-3567-laptop/drivers) (My mom bought it for me when I go to college, I give it to my mom afterward)~~
|
|
- ~~[Laptop Acer Nitro AN515-45](https://www.acer.com/ac/en/US/content/support-product/8841) (Gaming laptop which I buy for gaming, I give it to my sister)~~
|
|
- MacBook Pro M1 2020 (My company laptop)
|
|
- ~~Phone [LG G3](https://forum.xda-developers.com/c/lg-g3.3147/) (Bought long time ago, now is a brick)~~
|
|
- ~~Phone [Xiaomi Redmi 6A](https://forum.xda-developers.com/c/xiaomi-redmi-6a.7881/) (I give it to my sister too)~~
|
|
- Phone [Xiaomi Poco X3 NFC](https://forum.xda-developers.com/c/xiaomi-poco-x3-nfc.11523/) (Primary phone which I use daily)
|
|
|
|
App/Service I use daily:
|
|
|
|
- [Bitwarden](https://bitwarden.com/)
|
|
- [Aegis Authenticator](https://getaegis.app/)
|
|
- [Rclone](https://rclone.org/)
|
|
- [restic](https://restic.net/)
|
|
- [Tailscale](https://tailscale.com/)
|
|
- GitHub / GitLab
|
|
- Google Keep / Notion
|
|
- Google Drive (I use 200GB plan)
|
|
|
|
The purpose is that I want my data to be safe, secure, and can be easily recovered if I lost some devices;
|
|
or in the worst situation, I lost all.
|
|
Because you know, it is hard to guess what is waiting for us in the future.
|
|
|
|
There are 2 sections which I want to share, the first is **How to backup**, the second is **Recover strategy**.
|
|
|
|
## How to backup
|
|
|
|
Before I talk about backup, I want to talk about data.
|
|
In specifically, which data should I backup?
|
|
|
|
I use Arch Linux and macOS, primarily work in the terminal so I have too many dotfiles, for example, `~/.config/nvim/init.lua`.
|
|
Each time I reinstall Arch Linux (I like it a lot), I need to reconfigure all the settings, and it is time-consuming.
|
|
|
|
So for the DE and UI settings, I keep it as default as possible, unless it's getting in my way, I leave the default setting there and forget about it.
|
|
The others are dotfiles, which I write my own [dotfiles tool](https://github.com/haunt98/dotfiles) to backup and reconfigure easily and quickly.
|
|
Also, I know that installing Arch Linux is not easy, despite I install it too many times (Like thousand times since I was in high school).
|
|
Not because it is hard, but as life goes on, the [official install guide](https://wiki.archlinux.org/title/installation_guide) keeps getting new update and covering too many cases for my own personal use, so I write my own [guide](https://github.com/haunt98/til/blob/main/install-archlinux.md) to quickly capture what I need to do.
|
|
I back up all my dotfiles in GitHub and GitLab as I trust them both.
|
|
Also as I travel the Internet, I discover [Codeberg](https://codeberg.org/) and [Treehouse](https://gitea.treehouse.systems/) and use them as another backup for git repo.
|
|
|
|
So that is my dotfiles, for my regular data, like Wallpaper or Books, Images, I use Google Drive (Actually I pay for it).
|
|
But the step: open the webpage, click the upload button and choose files seems boring and time-consuming.
|
|
So I use Rclone, it supports Google Drive, One Drive and many providers but I only use Google Drive for now.
|
|
The commands are simple:
|
|
|
|
```sh
|
|
# Sync from local to remote
|
|
rclone sync MyBooks remote:MyBooks -P --exclude .DS_Store
|
|
|
|
# Sync from remote to local
|
|
rclone sync remote:MyBooks MyBooks -P --exclude .DS_Store
|
|
```
|
|
|
|
Before you use Rclone to sync to Google Drive, you should read [Google Drive rclone configuration](https://rclone.org/drive/) first.
|
|
|
|
For private data, I use restic which can be used with Rclone:
|
|
|
|
```sh
|
|
# Init
|
|
restic -r rclone:remote:PrivateData init
|
|
|
|
# Backup
|
|
restic -r rclone:remote:PrivateData backup PrivateData
|
|
|
|
# Cleanup old backups
|
|
restic -r rclone:remote:PrivateData forget --keep-last 1 --prune
|
|
|
|
# Restore
|
|
restic -r rclone:remote:PrivateData restore latest --target ~
|
|
```
|
|
|
|
The next data is my passwords and my OTPs.
|
|
These are the things which I'm scare to lose the most.
|
|
First thing first, I enable 2-Step Verification for all of my important accounts, should use both OTP and phone method.
|
|
|
|
I use Bitwarden for passwords (That is a long story, coming from Google Password manager to Firefox Lockwise and then settle down with Bitwarden) and Aegis for OTPs.
|
|
The reason I choose Aegis, not Authy (I use Authy for so long but Aegis is definitely better) is because Aegis allows me to extract all the OTPs to a single file (Can be encrypted), which I use to transfer or backup easily.
|
|
|
|
As long as Bitwarden provides free passwords stored, I use all of its apps, extensions so that I can easily sync passwords between laptops and phones.
|
|
The thing I need to remember is the master password of Bitwarden in my head.
|
|
|
|
With Aegis, I export the data, then sync it to Google Drive, also store it locally in my phone.
|
|
|
|
The main problem here is the OTP, I can not store all of my OTPs in the cloud completely.
|
|
Because if I want to access my OTPs in the cloud, I should log in, and then input my OTP, this is a circle, my friends.
|
|
|
|
## Recovery strategy
|
|
|
|
There are many strategies that I process to react as if something strange is happening to my devices.
|
|
|
|
If I lost my laptops, single laptop or all, do not panic as long as I have my phones.
|
|
The OTPs are in there, the passwords are in Bitwarden cloud, other data is in Google Drive so nothing is lost here.
|
|
|
|
If I lost my phone, but not my laptops, I use the OTPs which are stored locally in my laptops.
|
|
|
|
In the worst situation, I lost everything, my laptops, my phone.
|
|
The first step is to recover my SIM, then log in to Google account using the password and SMS OTP.
|
|
After that, log in to Bitwarden account using the master password and OTP from Gmail, which I open previously.
|
|
|
|
## The end
|
|
|
|
This guide will be updated regularly I promise.
|