提问人:cpuguru 提问时间:8/25/2008 更新时间:12/1/2015 访问量:3846
通过公共网络安全同步文件夹
Securely sync folders over a public network
问:
我需要使两台基于 Windows 的非域计算机上的文件和文件夹在公共网络上保持同步。
我正在考虑通过 SSH 进行 rsync - 但我想知道是否有更简单的解决方案?是否有可能通过 SFTP/SCP/SSH 使用同步框架?
或者我对更好的想法持开放态度?
答:
我不认为你可以超越 rsync。它快速、可靠,并且与 SSH(这是您的要求)结合使用时,安全无虞。它也是免费的!
如果您想与版本控制系统进行一些集成,请查看 Unison。
还有一些商业替代品,例如 InstantSync。
似乎是使用 FolderShare 的教科书案例。
评论
您可以使用 Hamachi 通过安全的 VPN 设置共享文件夹,然后使用文件夹同步应用程序进行同步。
你试过屡获殊荣的rsyncrypto吗?
我使用 SVN。它(我认为)在 SSH 和 SSL 上工作。
完整的版本控制,文件同步,有什么不喜欢的?
评论
我推荐rdiff-backup。它支持通过 SSH 进行增量备份,并且是一种免费且经过验证的解决方案。作为增量,它还允许访问已删除的文件或修改文件的旧版本。
+1 支持 Chris 的建议。这正是我使用 FolderShare 的目的,它使文件夹在运行 Windows 的 3 台 PC 和运行 OS X 的 2 台 Mac 之间保持同步。
我想我会发布我最终使用的东西 - WinSCP - http://winscp.net
通过 GUI 连接到 SFTP 服务器 + 支持本地/远程/两者同步 + 可通过命令行/批处理界面编写脚本。
您可以在 Hamachi 上使用 VPN 服务器
试试这个,适用于 Windows 的 SSHSync
http://code.google.com/p/sshsync/
允许智能安全FTP传输的命令行应用程序。SshSync 仅支持拉取类型的传输,但它允许使用私钥来确保身份验证的安全性。包含始终处理的文件列表的文本文件用于检查是否仅检索“新”文件。
这个答案类似于开线程器创建的答案,但我无法发表评论,所以我在这里添加这个:
一年前,我在一位客户那里遇到了同样的问题。我们需要一个可编写脚本的非 gui 解决方案,用于通过 Internet 将一个大文件夹与多个子文件夹同步!
当时系统使用 rsync,但我不喜欢必须安装 linux 工具并且需要两者之间的 vpn 来保护通信的必要性。
因此,第一种方法是使用 Powershell 编写脚本并使用 WinSCP 和 IIS ftps(基于 ssl 的 ftp)。WinSCP 和 IIS ftps 不能很好地协同工作!同步通常会导致我们无法修复的奇怪异常。然后我们切换到 CrushFTP 和 sftp (ssh ftp)。
这个解决方案效果很好!我们有 300 多次自动夜间部署,没有一个失败。 因此,我可以建议使用 powershell 编写脚本,并使用 WinSCP 库将文件夹同步到 sftp(不是 ftps)服务器。虽然它绝对不如 rsync 快,但它非常稳定且易于编写脚本。
评论