Python在多台计算机上复制文件的最佳工具/库/策略是什么?

2024-05-15 21:59:19 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

我们考虑过使用rsync和unison子流程.POPEn但它们本质上是同步工具。这些基本上是复制一次,但要正确复制。一旦文件被复制,用户将移动到新的存储系统。在

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

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

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


Tags: 文件数据方法程序文件夹linux系统计算机
3条回答

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

其他可能有用的参数是“删除”和“归档”。确保正确检查了命令的退出代码。在

如果一个更无缝的python集成是您可以看到的目标

Duplicity

pyrsync

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

相关问题 更多 >