将 3 TB 数据 rsync 到 2 个 2TB 大型外部驱动器

将 3 TB 数据 rsync 到 2 个 2TB 大型外部驱动器

是否可以将我的 3TB 大硬盘 rsync 到两个外部 2TB 硬盘?
如果可以,命令是什么样的?

如果没有,您能想到其他解决方案来将 3TB 的数据同步到 2 个 2TB 驱动器吗?我能想到的唯一方法是手动复制文件……但这样会失去 rsync 的所有功能 :(

答案1

选项包括将目标驱动器设置为单个卷(RAID、LVM、btrfs……),或在 3TB 驱动器上的数据子集上运行两个 rsync 命令。前一个选项使工作变得简单(只有一个目标),但缺点是必须连接两个驱动器才能访问数据。后者需要多花一点功夫,因为需要识别一组小于或等于 2TB 的文件夹,但允许独立访问每个目标驱动器上的数据。如果文件夹集比 3TB 驱动器根目录上的几个文件夹更复杂,那么构建 rsync 命令的最佳方法可能是利用 rsync 的--exclude-from选项。

答案2

1)最简单的方法:

如果 3TB 的数据位于小于 2TB 的目录中,只需使用两个 rsync 命令。
例如

3TB --- 文件夹 1,包含 1½TB --> rsync ---> 2TB 驱动器
         文件夹 1 有 1½TB --> rsync ---> 2TB 驱动器

2) 替代方案:
或者将两个 2TB 驱动器安装为单个卷。例如,使用线性模式或条带或存储空间。(线性模式将以 RAID0 的形式连接两个驱动器。条带将交替写入它们。)

3) 替代方案:
或者将第二个 2TB 驱动器安装在第一个驱动器上的卷中的文件夹中。

答案3

前面的答案都很好,但这里更详细一点。1)分别使用 2 个驱动器(烦人但有时需要)

  • 安装 2 个新驱动器
  • 首先需要确定空间限制。使用df -h查看新驱动器上的可用空间
  • 在包含要传输的数据的文件夹中,使用命令du来确定将传输哪些数据到哪个驱动器。最简单和最有可能的是按字母顺序
  • du -ch -d0这将显示每个顶层文件夹的空间。这-d0是显示的深度。因此更改为-d1查看顶层文件夹,然后查看子层文件夹的空间。
  • du -ch -d0 [0-9a-tA-T]*/这将显示顶级文件夹中的空间,仅匹配第一个字符与 0-9 或 at 或 AT 匹配的顶级文件夹。找到最适合您的空间要求的字母。
  • 在 rsync 命令中使用相反的字符--exclude。因此,在这种情况下,我会使用rsync --dry-run -av --exclude '/[u-zU-Z]*/' source destination--dry-run如果看起来不错,请删除。前导字符/仅表示顶级文件夹。请注意,0-9 已消失,因为我们想匹配所有这些字符。我们现在还匹配我们搜索的相反字母du

2) 像raid0一样对驱动器进行 RAID mdadm。然后运行正常的 rsync 命令。只需知道这些驱动器需要保持在一起,如果分开,数据就会丢失。

相关内容