在 rsync 运行时使用 HDD 是否安全?

Goo*_*bot 27 linux backup hard-drive rsync ext4

我计划备份我的大硬盘rsync,预计需要几天时间。在工作时使用原始硬盘(添加文件)是否安全rsync?或者最好在rsync完成之前保持硬盘不变?

use*_*ser 35

正如其他人已经指出的那样,在 rsync 运行时从源磁盘读取或在目标目录之外使用目标磁盘是安全的。在目标目录中读取也是安全的,尤其是在目标目录由 rsync 运行专门填充的情况下。

什么是不一般安全是源目录中写而rsync的运行。“写入”是修改源目录或其任何子目录的内容的任何内容,因此包括文件更新、删除、创建等。

这样做实际上不会破坏任何东西,但更改可能会或可能不会被 rsync 获取以复制到目标位置。这取决于更改的类型,rsync 是否已扫描该特定目录,以及 rsync 是否已复制有问题的文件或目录。

但是,有一个简单的方法可以解决这个问题:完成后,使用相同的参数再次运行 rsync。(除非你有一些时髦的删除参数;如果你有,那么要多加小心。)这样做会导致它重新扫描源,并转移原始运行期间没有发现的任何差异。

第二次运行应该传输前一次 rsync 运行期间发生的差异,因此会更快地完成。因此,您可以在第一次运行期间随意正常使用计算机,但应尽可能避免在第二次运行期间对源进行任何更改。如果可以,请强烈考虑在开始第二次 rsync 运行之前以只读方式重新安装源文件系统。(mount -o ro,remount /media/source应该做的事情。)

  • 甚至可以在第二次运行后进行*第三次运行*:它可能需要更少的时间...... ;-) (7认同)
  • @gerlos 一种模式似乎正在出现。听起来几乎可以在每次使用会话结束时继续运行 rsync 命令,几天之内即可完成。 (5认同)
  • @gerlos 如果您在第二次运行 rsync 之前重新挂载只读,则没有必要,并且备份将几乎保证一致,同时最大限度地减少您无法写入源文件系统的时间。 (5认同)

dr_*_*dr_ 22

这取决于您使用的备份系统,但通常在备份设备时修改设备的内容是一个坏主意。但是,您可以阅读其内容;这是一个安全的操作,即使它会减慢进程。

在您的情况下,rsync将建立一个文件列表,然后开始备份。因此,您在备份开始后添加到源 HDD 的任何文件都不会被复制。

我所做的是在备份期间根本不使用设备。这是获得快速且一致的备份的更安全的方法。

  • 我通常让它运行,然后再运行一次 `rsync`,它会在几秒钟内完成,因为只有我在运行期间更改的文件才会被复制。一切都将在缓存中,因此在此期间更容易避免修改。 (14认同)

Dav*_*ett 15

rsync操作时从源区域读取数据是安全的,但是如果您更新任何内容,则rsync创建/更新的副本可能会不一致:

  1. 如果您更新 rsync 已经扫描的文件,那么它在未来运行之前不会看到更新。如果您更新尚未扫描的文件,则目标中将遵守更改。如果您更新已扫描和未扫描的文件,您最终将在目标中混合使用新旧版本。

  2. 如果您将文件添加到已经扫描过的目录中,这次将在目标副本中丢失该文件。如果您从已扫描的目录中删除文件,这次它将保留在目标副本中。根据您调用rsync整个树的方式,可能会在开始时进行扫描,也可能会在同步过程发生时进行增量扫描。

  3. 在某些情况下rsync会看到不一致并警告您。如果您从目录中删除文件或子目录,该目录本身已被扫描但尚未扫描其内容,您将收到有关丢失对象的错误消息。在类似的情况下,有时(如果大小和/或时间戳已更改)也会警告文件在扫描中更改。

对于某些备份,这种不一致可能不是一个大问题,但对于大多数备份而言,建议您不要尝试同步主动更改的源。

如果您使用 LVM 来分割您的存储系统,您可以使用临时快照来进行时间点备份。这要求您在卷组上有足够的空间来创建一个足够大的快照卷,以容纳在需要快照期间发生的所有更改。查看 LVM 文档(或许多在线示例之一:搜索“LVM 快照备份”或类似内容)了解更多详细信息。

即使没有 LVM,某些文件系统本身也支持快照 - 因此您也可能希望研究该选项。

如果您想备份大型活动卷而不会长时间停机并且不能使用快照,那么运行“实时”扫描完成然后停止对卷的访问并运行另一个可能需要更少时间的 rsync 进程可能就足够了(如果几乎没有改变,它只会扫描目录树,然后扫描几个更新的文件)。这样,您应该避免更改的持续时间可能会短得多。


Ove*_*ind 11

  • 源硬盘可以在 rsync 时读取任何内容。

  • 源硬盘可以写入与 rsync 内容无关的任何内容。

  • 目标硬盘可以在 rsync 时读取任何内容。

  • 目标硬盘可以在 rsync 时写入任何内容,条件是为同步的内容保留足够的空间。

当然,在任何一种情况下,都会有性能下降。