前言

众所周知,linux的桌面版非常的“易碎”。比如我在过去几个月里,多次经历kde崩溃。kde崩溃毕竟是小事,换个tty用kstart重启一下又能接着用,但python脚本能把我卡到tty都换不了,这就多多少少有点抽象了。虽然说大多数桌面系统的不稳定都是因为我这样的用户“菜且作死”,虽然说我没有以前刚开始使用双系统linux的时候那么菜了,虽然说我以后肯定会好好学的,但我觉得备份和日志这两件事现在还是要好好做一做了。

这篇文章的主要目的就是记录下对各种东西的备份过程,并不打算一口气写完,打算是边备份边记录。

备份策略

我的备份打算分为三部分:本地、云端、硬件。

本地

在本地端,对极短时间内的操作进行备份,主要防止偶发的极端失误操作。

具体方案很简单,使用timeshift每隔1个小时对整个系统进行1次备份,只保留5次备份(可保证在误操作之后立刻回退)。相对应的还有每天1次备份(防止夜晚关机后按小时回退的文件丢失)保留最近两天的备份,每周1次备份(保证短期内的回退),保留最近两周的备份。

云端

云端备份为备份的重点。主要目的是保证物理媒介全部丢失后,可在一台全新的机器上快速完成环境配置,要求要能完整适应各种个人使用习惯并保证所有重要文件和大部分个人文件存活。

云端备份主要是针对配置文件,因此dotfile项目是这种做法的不二之选。

因为已经看了很多教程了,所以就简单暴力一点好了,直接在家目录下建git仓库。然后敲一个git status,把里面的文件复制到.gitignore里,从而快速排除掉不需要的文件。

然后就是第一次使用git add .来添加所有文件。后面就要用git add -u来保证不添加没有变动的文件,如果有个别文件要添加,就直接add该文件。

下面是一些特殊的操作。

nvim配置文件

我的nvim配置文件在~/.config/nvim/下,因此我需要将整个文件夹添加到我家目录的git追踪之下。我的nvim配置其实是从别人的配置那里魔改过来的,所以其实是可以直接用submodule的,但因为平时使用频率不那么高,但又偶尔要用,所以我简单暴力地把.git文件删掉,直接将该文件加入到了我的家目录git管理下。

各种软件

确实,有时候会记不得自己到底装了什么软件,虽然说确实可以“想起来再装”,但是有个记录总是好的,于是我决定写个脚本记录下自己都装了啥。那脚本放在哪里呢?我决定在家目录下建一个.backup/的文件夹,然后写入脚本。

关于yay的跳过回复,可以参考https://github.com/Jguer/yay/issues/1033

修改配置文件

有的文件可能是会更新的,随时更新是一方面,但有的文件是软件安装好后自动生成的,而我需要对这个生成好的文件对一些修改。这里我打算用linux自带的patch来做。

硬件

硬件备份除了备份普通文件,如我看的书,还有一大重点就是各种私钥。这些都是只能通过硬件来备份的。

先写到这里,想起来再加