【发布时间】:2012-08-09 14:26:44
【问题描述】:
我正在尝试在我们的 Delpi 项目中实现一项新功能,该功能将帮助我们的用户在我们的服务器上进行在线备份,因此我使用 Indy FTP 组件构建了一个将上传/下载用户文件或文件夹的表单
但我需要提供进行增量备份的能力。我们的用户只能将“新”差异上传到他们的文件和文件夹。因此,例如,如果我有一个大小为 5 KB 的文本文件,并且我向其中添加了价值额外 2 KB 的文本,那么备份将只上传那些额外的 2 KB 而不是整个 7 KB
那么有人可以推荐任何方法,算法开始吗?
感谢您的宝贵时间
注意:我们使用的是 Delphi 7
【问题讨论】:
-
找到一个做差异和修补的库。然后使用它。
-
你要备份什么?常规文件?数据库?主要是二进制?文字?
-
@DavidHeffernan 尝试在网上搜索 Diffing 和修补库,但找不到任何库,所以对任何库有任何建议/建议吗?
-
你没有在delphi中实现RSYNC,你只是调用它。它是一个命令行实用程序,最初是在 Unix 上找到的,但可以作为 windows 端口使用(仍然只是一个命令行实用程序)。您可以在 delphi 中为其编写自己的 GUI 包装器。
-
正如沃伦所说。只需包装 rsync。使用正确的参数调用 rsync.exe,它应该可以工作。记得检查退出代码。当你想实现一个进度条时,你可以读取 rsync 的 stdout/stderr。
标签: windows delphi backup delphi-7