我正在研究python的远程备份解决方案。服务器部分将在Unix/Linux上运行,因为它将使用硬链接进行高效的增量备份。
但是,客户端部分也必须在Windows上运行,文件锁定可能是一个问题。
根据我的研究,卷影复制服务 (VSS) 是我需要的东西。类似于 LVM 快照,不受文件锁定的影响。然而,VSS API似乎没有在pywin32中实现。
我目前的想法是使用一些包装器来创建临时 VSS 快照,运行客户端,然后删除它。
我想知道是否有人在这种情况下有经验。
想知道我偶然发现的相同
https://github.com/sblosser/pyshadowcopy(简单,但似乎不再活跃)
和
https://github.com/libyal/libvshadow(复杂、雄心勃勃、阿尔法)
不幸的是,我还没有时间测试它们...
我会在你的Windows客户端研究IronPython。 仅仅因为这将允许你访问 COM+ DLL 和其他 WinAPI 对象。 它是.NET,但它仍然是python。 我还没有使用它来说 100% 确定它可以与 VSS 一起使用,但它应该。
在为我的个人备份工具寻找同样的东西时,我遇到了PyVSS
.这似乎易于使用,但是,只有该模块的编译版本可用。缺少基本的源代码部分。