【发布时间】:2012-03-25 23:51:17
【问题描述】:
我在文件夹中存储了多台计算机上的数据。许多文件夹包含 40-100 G 大小从 500 K 到 125 MB 的文件。我需要归档大约 4 TB 的文件,并根据存储在每台计算机中的元数据构建一个未归档的元数据系统。
所有系统都运行 Linux,而我们想使用 Python。复制文件并将其存档的最佳方法是什么。
我们已经有了分析文件和填充元数据表的程序,它们都在 Python 中运行。我们需要弄清楚的是如何在不丢失数据的情况下成功复制文件,并确保文件已成功复制。
我们考虑过使用 rsync 和 unison 使用 subprocess.POPEn 来运行它们,但它们本质上是同步实用程序。这些本质上是复制一次,但可以正确复制。复制文件后,用户将移动到新的存储系统。
我担心的是 1) 复制文件时不应该有任何损坏 2) 文件复制必须高效,尽管没有速度预期。 LAN 为 10/100,端口为千兆。
是否有任何可以合并的脚本,或任何建议。所有计算机都将启用 ssh-keygen,以便我们进行无密码连接。
目录结构将在新服务器上维护,这与旧计算机非常相似。
【问题讨论】:
-
使用同步工具复制有问题吗?
-
没有。不是真的,但是在 Python 中使用 rsync 或 unison 是最好的推荐方式。我们需要使用 Python 运行整个过程,因为有一个数据生成程序可以更新数据库中的多个表