0

我将多台计算机的数据存储在文件夹中。许多文件夹包含 40-100 G 大小从 500 K 到 125 MB 的文件。我需要归档大约 4 TB 的文件,并根据存储在每台计算机中的元数据构建一个未归档的元数据系统。

所有系统都运行 Linux,我们想使用 Python。复制文件并将其存档的最佳方法是什么。

我们已经有了分析文件和填充元数据表的程序,它们都在 Python 中运行。我们需要弄清楚的是如何在不丢失数据的情况下成功复制文件,并确保文件已成功复制。

我们考虑过使用 rsync 和 unison 使用 subprocess.POPEn 来运行它们,但它们本质上是同步实用程序。这些本质上是复制一次,但可以正确复制。一旦文件被复制,用户将移动到新的存储系统。

我担心的是 1)当文件被复制时不应该有任何损坏 2)文件复制必须是高效的,尽管没有速度期望。LAN 为 10/100,端口为千兆。

是否有任何可以合并的脚本或任何建议。所有计算机都将启用 ssh-keygen,因此我们可以进行无密码连接。

目录结构将在新服务器上维护,这与旧计算机非常相似。

4

3 回答 3

1

如果更无缝的 python 集成是您可以查看的目标,

表里不一

pyrsync

于 2012-03-09T09:24:05.263 回答
1

我会看一下python结构库。该库用于简化 SSH 的使用,如果您担心数据完整性,我会使用SHA1或其他哈希算法在传输之前为每个文件创建指纹,并比较在初始和最终目的地生成的指纹值。所有这些都可以使用织物来完成。

于 2012-03-08T13:59:37.860 回答
0

我认为 rsync 是解决方案。如果您担心数据完整性,请查看手册页中“--checksum”参数的说明。

其他可能派上用场的参数是“--delete”和“--archive”。确保正确检查命令的退出代码。

于 2012-03-08T14:40:15.677 回答