如何设置增量备份以包含 Ubuntu 18.04 上的主题和定制?

如何设置增量备份以包含 Ubuntu 18.04 上的主题和定制?

我如何备份整个系统并完美恢复到原来的状态?我已经安装了一些不错的主题并自定义了不少东西(图形化),如果需要重新安装,我不想重复这个过程。

我想我的问题是,我是否必须仅有的备份主文件夹,还是我必须这样做所有的系统根文件夹。许多主题建议不要备份根文件夹,但却让我感到困惑。

我可以毫无问题地再次从头安装 Ubuntu 并导入我的主文件夹,只要因为它会将 UI 和自定义主题等所有内容都归还给我。我并不关心实际数据,例如文档、视频等。我可以通过基于云的解决方案找到其他方法。此外,我有一些命令,fstab但不确定它们是否也存储在主目录中?

我的想法是使用rsync和使用

sudo rsync -aAXv --delete --exclude=/dev/* --exclude=/proc/* 
  --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* 
  --exclude=/media/* --exclude="swapfile" --exclude="lost+found" 
  --exclude=".cache" --exclude="Downloads" --exclude=".VirtualBoxVMs" 
  --exclude=".ecryptfs"

然后设置一个 cron 来安排此任务。

你能帮我吗?

答案1

建议不要备份“ /”文件夹的原因是:通常,有许多虚拟(有时是物理)文件系统附加到该文件夹​​。虚拟文件系统就像/proc:它在硬盘上没有物理文件,而是列出/读取/写入它们的文件结构来操纵内核的一些数据结构。例如,将 1 写入/sys/bus/pci/rescan不会在硬盘上的任何地方写入任何内容,而是重新扫描 PCI 总线以查找新设备。

支持它们毫无意义,甚至可能有害。

如果你的目标是备份一切那么你能做的最好的事情就是备份所有内容/。但是,由于上述问题,备份可能会有问题。

不过,有一个简单的技巧可以解决这个问题。Linux 知道这个东西绑定挂载:这意味着您可以多次挂载文件系统。

例如,

mount /dev/sda7 /mnt/root

会将您的根文件系统(例如,假设您的根文件系统是sda7)挂载到目录/mnt/root。您将看到其中的所有内容,除了任何子挂载,包括虚拟文件系统

诀窍是这样的:之后,你可以/mnt/root使用任何你想要的工具安全地备份,包括rsync

还要注意,这只是一个递归文件复制。您无法保护可能发生的文件不一致问题。想象一下,如果一个数据库有两个文件,/var/lib/postgresql/11/main/base/13731并且/var/lib/postgresql/11/main/base/13732它们相互引用。如果数据库引擎将某些内容写入第一个文件和第二个文件,备份过程运行时,那么就有可能第一个备份了,而第二个备份不了。这样,你的数据库在恢复后就会变得一团糟。

这也是为什么您可能会发现反对以这种方式备份系统的反对意见(有时非常强烈)。然而,在实际的用户级用例中,这样的真正问题很少存在,也许最典型的问题是当您使用数据库进行某些 Web 开发任务时。在家庭环境中,我只是忽略了这个问题。在专业环境中,使用另一个不同的备份来备份对此敏感的数据是切实可行的。

答案2

Clonezilla 来帮忙了。控制台界面很糟糕,但能可靠地完成工作。

下载映像并从中制作可启动的 USB 驱动器https://clonezilla.org/

从 USB 驱动器启动 Clonezilla,并将驱动器和/或分区备份到 USB 驱动器或记忆棒以便轻松恢复。不要让 UX 吓到您,它真的有效。

答案3

如果您确实只想备份主题和自定义内容,那么您实际上不需要备份整个系统。您只需要备份一些点文件。

例如,你对 Windows 所做的更改都在~/.config/gtk-3.0/settings.ini文件中。你安装的大多数程序都会在~/.config目录中有一个配置文件,你只需要备份这些配置文件即可。

答案4

Timeshift - 轻松实现系统的自动增量备份

Timeshift 提供的功能类似于 Windows 中的系统还原功能和 Mac OS 中的 Time Machine 工具。

它可以从 Ubuntu 的 repos 中安装,但 Ubuntu 可能有也可能没有最新版本。你可以在 Ubuntu 软件商店中搜索 Timeshift 来安装它,也可以在终端中输入以下内容:

sudo apt-get install timeshift

如果拥有最新版本对您来说很重要(您可以查看每个版本的发行说明,看看它们会对您产生好的影响还是坏的影响),您可以添加开发人员 repo 并从那里安装 Timeshift:

sudo add-apt-repository -y ppa:teejee2008/timeshift
sudo apt-get update
sudo apt-get install timeshift

有关如何配置 Timeshift 以满足您的特定需求的更多详细信息,请查看开发人员的 github 页面:https://github.com/teejee2008/timeshift

如果这有帮助,请考虑为这篇文章点赞。谢谢!

相关内容