当转为运用 Linux 时,你或许会留意到你所运用的版别会带有一个默许的备份东西。但是,或许该东西并没有被设置好去备份你体系中一切重要的部分。并且,运用该默许东西也或许导致它以比预期更低的功率去产生一些更大的备份数据。本文将向你介绍一些能够运用现有的存储空间去备份你的 Linux 体系的代替办法。
保证你的备份适可而止
Ubuntu 桌面版的默许东西:dejá-dup 仅被设置为默许备份你的 home 目录,因而它遗失一些你在需求将体系康复到有序的作业状况时的重要部分。让咱们试想一下你的体系由以下三个部分组成:
那么,你就能够轻松地设置该默许东西来支撑上述三个部分的一切内容了。但这样做的条件是你有很多的存储空间,或许或许会涉及到很多的数据经过互联网进行传输 (假如你运用的是网络备份的话)。下面的一些运用和技巧就能够协助你削减所需求的存储空间,并能保证你在体系溃散产生时仍具有恰当的备份。
1. 克隆分区以对 Home 目录予以快照
在你用户帐户的/home/[username] 目录下会存储着一些数据,这些包含有你的个人装备,它们一般是一些以“点”开端的 (例如/home/[username]/.local) 文件或目录,以及音乐、图片和其他类型的文件与文件夹 (例如,默许文档途径或下载文件夹)。这些便是你或许需求在备份数据时,以及对待“开箱即用”类东西所需求特别重视的当地。
你需求将/home 目录放置到独自分区上的一个重要原因是:你能够将它从体系的首要部分中独立出来进行操作。一起,假如这样做了,你就能够经过克隆整个分区的办法去备份你的主目录。它也会在你需求的时分完成精确地磁盘等级的康复。
正如我在曩昔的文章所提及到的,它有一个选项是 dd,即完整地克隆整一个磁盘或分区 (这就意味着备份的是相同巨细悉数分区)。当然,你也能够考虑运用 Clonezilla。它在备份磁盘/分区的全体结构的一起,能省掉掉未被运用到的磁盘空间,而使你的备份仅仅实践数据所占用到的分区巨细。
2. 运用文件同步东西将 Home 目录的快照存储到多台机器上
文件同步东西是你打理个人文件的好挑选,特别是当你运用着多台设备的时分。想必你能想出太多的此类东西的称号,其间包含简略的文件仿制东西,如 rsync; 在线服务,如 Dropbox; 以及当地/点对点东西,如 Resilio Sync 等。其间的一些将会为你供给追寻和前史服务,虽然这些记载分钟级改变的特征会显得有些“吹毛求疵”且糟蹋存储空间。
3. 运用归档东西来保存体系数据的前史快照
除了你的 home 目录之外,你或许还需求将如下部分计入你的备份清单:
/etc,它包含了各种装备,如/etc/apt/lists 就描绘性地罗列了在你的体系上新近装置的程序资源。
/var,它包含各种运用程序所运用的弥补数据。此类比如包含各种日志 (例如/var/log/dpkg,就记载着根据.deb 体系的 package 业务) 和缓存 (例如/var/cache/dpkg,就保存着一切已装置 package 的副本),以及/var/lib/dpkg(用来存储 package 的数据库)。
规范的“归档式 (archive-style)”备份东西也能够处理这些体系目录。它们一般会去检查源目录中的文件,以确认是否有该文件的最新备份存在,假如没有则创立并进行更新。它们能够保存多份副本 (例如每日一份或是每周一份),并且在一般状况下会紧缩这些副本以节约磁盘空间。此类东西有很多种,包含程序 dejá-dup 和 backintime 等。
不过,你或许需求用根 (root) 用户的身份去设置和运转此类备份作业,或是运用管理员 (admin) 的权限来运用该东西的内置功用。
经过运用这些运用程序 (下面以 backinTIme 为例),你就能够简略地将你所需的目录添加到一个新的或是现有的备份作业中了:
经过恰当地挑选这些目录备份,你能够将此举所节约的磁盘空间与典型的“全体系”备份比较一下,看看作用。你能够阅览如下链接以获取有关“/var 的子目录中哪些是你或许需求的,而哪些则没有必要”的技巧。(https://unix.stackexchange.com/quesTIons/1067/what-directories-do-i-need-to-back-up)
4. 运用 etckeeper 来保存装备改变的记载
咱们具体来说说/etc 目录吧。东西 etckeeper 运用源代码级的操控来帮你备份体系中的重要装备。假如你想在 Ubuntu 中装置它,则需求
sudo apt-get install etckeeper
在装置过程中,它将创立一个备份 (实践上是一个 git 的存储库),并将/etc 下一切的文件都放入其间。
在此之后,你就能够运用任何 git 的客户端来检查你的体系装备的前史版别。更重要的是,该软件还设置有一个 cron 作业,它能够每天将你装备的改变放入其间。别的,鉴于大多数装备文件都是以纯文本的方式创立的,并且由于 git(和其他源代码操控体系) 是以逐行递进的准则进行各种改变存储的,因而关于多个版别的存储,其容量依然能够坚持为适当小体积。
5. 运用 apTIk 来备份各种装备和软件包
apTIk 程序在其友爱的 GUI 界面上集成了很多的备份/康复东西:
它的“已装置软件 (Installed Software)”功用将默许备份一切你已明确地装置了的软件包。下图是一个十分简略的示例列表:
你或许会猎奇:它为什么这么简略呢? 这是由于在你需求运用该备份的时分,你明显现已装置了一个根本的体系,因而它并不需求那些根底的体系软件包。而假如你需求装置这几十个所列的包,那么它的软件包管理器则会主动帮你打理一切相关依靠包的装置事宜。可见,你的“彻底软件备份”就只会耗费到那么几十兆字节的存储空间。够智能的吧?
6. 运用包列表来备份你的软件包
假如你了解指令行操作的话,你或许会做得比 aptik 更好。在保证能在稍后康复你的体系的状况下,你试试如下指令。留意,该指令并非用来备份软包,而是录制一张包的列表。也便是说,以下指令会将装置包的列表导出到一个文本文件之中:
sudo dpkg –get-selections 》 my-packages.txt
除了能给你一张体系软件包的可招供阅览的计算之外 (如上图所示),如下指令还可供你去批量重新装置这些软件包:
sudo dpkg – set-selections 《 my-packages.txt
sudo apt-get – u dselect-upgrade
留意,你依然需求手艺去处理那些你自行装置过的程序 (它们很或许存放在/usr/local 和/或 /opt)。除此之外,你曩昔的和刚康复的体系之间的仅有差异便是各种软件是否需求手动去更新到最新版别了。而这些也仅仅多占用戋戋几千字节的磁盘空间罢了。
记住:请不要拘泥于运用上述的某一个运用,你能够结合多种运用联合运用,以保证在最坏的状况产生时,你依然能够快速地做到备份与康复。