将 ext4 数据备份到 exFAT 分区

将 ext4 数据备份到 exFAT 分区

我有一台运行 Ubuntu 16 的计算机,它在 samba 共享内安装了一堆 ext4 HDD,我将其用作本地 NAS。

我不想使用 RAID,因为我希望能够关闭计算机,取出其中一个 HDD,然后将其插入另一个地理位置的另一台计算机上并让其立即运行。

我最初想使用 exFAT 作为分区,因为它比 ext4 更通用(我可以在 Windows 和 macOS 上插入它而无需安装任何第三方软件)但是,由于这种格式没有日志功能,我最终决定不使用它。

但是现在我想使用 rsync+cron 添加一个备份例程,以便定期将每个 ext4 HDD 的内容复制到另一个类似大小的 ext4 HDD(这是云备份的补充),所以我想知道:

我可以在备份硬盘上使用 exFAT 格式吗?这样 ext4 分区的数据就会备份到 exFAT 分区。或者你不建议这样做?为什么?

我的想法是:通过这种方式,我可以在主 ext4 磁盘上获得日志记录,并且我可以将备份磁盘取出到另一个位置,并让它在需要时直接在 Windows/macOS 上运行。

附加问题:我对 Linux 还很陌生,所以 rsync+cron 是否是适合此类备份工作的工具?

答案1

我建议你不要使用rsync。你应该使用rdiff-backup、Duplicity 或 Borg Backup。

rsync非常适合镜像(即同步)文件夹。但是,您可能需要备份。想象一下,您不小心删除了某些内容,然后您的 cron 作业在您停止同步之前启动了同步。这意味着您刚刚丢失了这些数据,即使您认为您有备份。但您只有镜像。现在,如果您已经复制了该副本,只要该副本还没有被覆盖,您就可以恢复数据。但是如果您一段时间没有注意到您的错误,您的数据就会丢失。

现在,有一个 rsync 开关 ( -b/ --backup) 可以防止这种情况发生。但您最好还是使用专为备份而设计的工具。

rdiff-backup就是这样一种工具。但它缺乏加密功能。

Duplicity 提供加密功能。然而,我的个人体验是它无法可靠地恢复数据。也就是说,当我尝试将文件夹恢复到以前的状态时,我真正关心的一个文件却没有被恢复。我知道该文件存在了几个月,因为就在我想要恢复它之前,我无意中搞砸了它。Duplicity 不允许我恢复该文件,当我尝试将文件夹恢复到各个时间点时,我本来可以接受所有这些操作,因为几个月来该文件没有发生过重大变化,但它并没有将该文件放入恢复的文件夹中,甚至没有打印提示表明该文件丢失了。

我不知道这实际上是 Duplicity 的问题还是 Deja Dup 的问题,因为我使用 Deja Dup(它使用 Duplicity,而 Duplicity 又使用rsync)进行备份。但是,我确实尝试通过 Deja Dup 和直接通过 Duplicity 恢复文件/文件夹。没有成功。

大约半年前,我的一个朋友问我如何备份。她之所以问我,是因为她遇到了与 Deja Dup 完全相同的问题。

在我自己遇到这个问题之后,我对 Deja Dup 的信任就已经消失了,所以我转而使用 Borg Backup,我建议你也应该这样做。

Borg Backup 需要一点时间才能上手,但一旦你了解了它的工作原理,它就很棒了。它提供版本控制、加密、压缩和重复数据删除功能。使用 Borg Backup 进行备份比使用 Deja Dup 更快,而且你可以享受到很棒的功能,比如能够挂载你的备份存储库。

也就是说,您发出 mount 命令,然后输入挂载存储库的位置。然后,您将看到一个以文件夹形式列出的备份标签列表。您可以进入这些文件夹中的任何一个,然后查找文件。无需逐个修订版本地恢复它们。它们都在挂载的存储库中。

这意味着您可以在这些修订版本上使用常规命令行功能和工具。例如,我最近发现我前段时间不小心删除了我的 Firefox 桌面文件。几周后才注意到。一个简单的

ll */home/christoph/.local/share/applications/firefox.desktop

在已安装的目录中,我得到了包含该文件的所有修订版本的列表。我只是复制了最新的一个。但是,如果您愿意,您可以获取该列表并对结果进行差异分析,以查看更改的内容,而无需先恢复任何内容。此外,安装和搜索存储库的速度比 Deja Dup 找出哪个文件丢失所花的时间要快得多。

如果您使用 Borg Backup,它实际上会跟踪所有权和权限,而备份位置的文件系统不必支持所有权或权限,因为这些都被 Borg 封装了。

Borg 可以与 cron 作业完美配合使用。它只是您需要发出的单个命令。您需要指定一个存档名称,每个备份都需要不同的名称。如果您手动发出命令,您可以在其中写一些更有意义的内容。我只是将其用作date +%c存档名称,因为我的备份是自动创建的。

将第一个备份存储在具有日志功能的 FS 上当然是个好主意。由于您随后只会创建其他备份,并且如果您不得不丢弃第二个备份所在的 FS(因为它在断电时受到损害),这并不可怕,因此使用非日志功能的 FS 是可以接受的。

您可以通过 将第二个备份与第一个备份同步rsync。这没有问题,因为您已经确保可以通过 Borg Backup 返回到以前的版本,而且 – 如果您愿意 – Borg 也已经处理了加密。

相关内容