我想将文件从机器 A rsync 到独立机器 B。目前,源机器 A 上不应有任何已删除的文件。更改的文件将被复制到单独的文件夹,并通过 DVD 或硬盘驱动器(取决于数据大小)移动到独立系统机器 B。然后,更改的文件将被 rsync 到独立系统上的相同位置。
答案1
我知道您无法直接访问 B,因此您将使用外部磁盘或 DVD 从 A 间接 rsync B。
我认为您不应该使用像 DVD 这样的 ROM,而应该使用外部驱动器。
所以你有 3 个系统:A、B 和 HDD(我们这样称呼)
假设你在 A 和 B 上都将 HDD 挂载在 /mnt/HDD 上。并且文件被 rsynced 到 HDD 的根目录。A 上的源目录是 /source,B 上的目标目录是 /dest。
首先在 A 上安装 HDD,然后将 A rsync 到 HDD:
rsync -avH --delete-after /source/ /mnt/HDD/
之后,您从 A 卸载 HDD 并将其挂载到 B。然后在那里 rsync:
rsync -avH --delete-after /mnt/HDD/ /dest/
请注意,如果文件从源中删除,--delete-after 会从目标中删除文件,而不是从源中删除已同步的文件。
对于参数:a 创建完整备份,v 表示详细备份,H 表示硬链接(以便硬链接文件不会占用磁盘上的多个空间)
如果您想检查 rsyncing 文件的完整性,您还可以添加 --checksum 参数(即使大小和时间签名可能相同,文件也可能已损坏)。
如果您的目的只是将更改的文件复制到 HDD,那么这对于 rsyncing 来说不是一个好主意。那么您如何处理从 A 中删除的文件?以及如何跟踪更改的文件(您必须在每个步骤中比较两棵树)。