对于某些Webhost问题,我必须为服务器领域的常见操作系统(Windows / Linux)编写文件备份/同步工具。大多数Linux根服务器都提供用于安全通信的ssh接口,因此我可以使用SSH文件传输协议,但是Windows端(动态)的最佳解决方案是什么?是否有好的D库(或C替代品)
我在这里写,而不是在管理员或Windows堆栈中,因为有一个原因:现有的库很重要。因此,简单的实现比接口或协议的存在更重要。简单性和语言特征而非可能性具有优先权。
总而言之,我正在寻找一种简单的方法来实现一个用于文件交换的os独立工具。对于同步工作,必须能够访问一些文件信息(最后写入时间,修改时间,文件大小等)。
编辑:synconisation工具的“我的版本”应该在没有额外的sotfware安装的情况下在新系统上工作(可能是通过ssh-windows等效的一些自动安装[如果有的话]) 您只需输入访问数据即可。此外,我还需要一个协议,这是最大的问题。因为ssh在动态窗口上不起作用 - 是否有等价的?
答案 0 :(得分:1)
rsync
是一种流行的文件同步工具,最适合添加,删除或扩展的文件。它调试得非常好,设置起来非常简单。 (rsync -avzP username@hostname:/path/to/source/ /path/to/dest/
或rsync -avzP /path/to/source/ username@hostname:/path/to/dest/
很常见。)
rsync
经常通过ssh
进行隧道传输;如果你不介意公开,它确实有自己的协议。
但如果您有大量数据被轻微移动或频繁重命名,那么像git
这样的工具可以更好地利用带宽。它确实带来了保持双方历史的缺点,这可能比你想要的磁盘效率更低,但它可以弥补你的带宽不那么惊人。
git
也经常通过ssh
进行隧道传输;如果你不介意公开,它也有自己的协议。
我怀疑其中任何一个都有D库绑定,但C绑定应该很容易得到。 :)