![远程计算机之间的*无缝*同步?](https://linux22.com/image/1474334/%E8%BF%9C%E7%A8%8B%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B9%8B%E9%97%B4%E7%9A%84*%E6%97%A0%E7%BC%9D*%E5%90%8C%E6%AD%A5%EF%BC%9F.png)
我办公室里有一台台式电脑(Windows 7)和一台笔记本电脑(Windows 10)。我想在它们之间同步文件和文件夹,显然是为了让我可以随时使用我最近的所有工作,也是为了同步 Sublime Text 和我的 Firefox 配置文件等程序文件。迄今为止尝试过的解决方案:
- Dropbox
- Btsync(使用 Raspberry pi 作为中间节点)
我似乎面临的长期问题是所有这些程序都具有内置版本控制系统(因为他们似乎总是认为办公室里会有很多使用这些程序的人,这些人很可能会愚蠢到粗心地覆盖彼此的工作),例如,在 Dropbox 的情况下,我最终得到了数百个“冲突副本”重复项 - 无法禁用此功能 - 所以这已经不复存在了。令我失望的是,我现在似乎遇到了与 BtSync 类似的问题(我真的以为这是答案);它似乎不尊重已删除的文件,而是立即开始从辅助设备再次下载它们,而不是从辅助设备中删除它们!
我想要的是无缝的我的计算机之间集成 - 没有版本控制,没有废话 - 当我创建一个文件时,该文件会出现在另一台计算机上。当我更改它时,它也会更改。当我删除它时,它就消失了 - 在所有设备上。故事结束。
我更喜欢一种不需要我的两台计算机同时运行的解决方案;因此,要么是基于云的解决方案,要么可以利用我的 Raspberry Pi 的解决方案。
有什么建议么?
答案1
我使用具有更新功能的旧 DOS 批处理命令 XCOPY。我编写了自己的实用程序,用于映射其他计算机,然后它使我能够创建一个以各种方式使用 Xcopy 的批处理文件。
典型的命令是 xcopy "C:\Sendtext" "N:\Sendtext" /D /Y /R /exclude:c:\Batch\noxcopy.txt
这会将文件从 C 驱动器文件夹 Sendtext 复制到 N 驱动器文件夹 Sendtext。/D 指示 xcopy 仅复制较新的文件,/Y 抑制任何有关覆盖的查询,/R 将覆盖任何只读文件。排除文件 noxcopy.txt 指示 xcopy 不复制哪些文件(您必须在 noxcopy.txt 文件中创建一个列表)。
xcopy 还有其他选项,例如执行测试运行和复制子目录。在 DOS 中使用 XCOPY /? 可查看所有选项。
显然,您需要定期运行它以提供实时更新,唯一的其他选择可能是编写一个实用程序来检测任何更新,然后复制文件。
答案2
Owncloud可以在 PI 上工作你可以禁用其版本控制系统但“无缝”同步在配置上需要付出很多努力。
您还可以查看维基百科 同步软件比较。
答案3
我发现的最佳解决方案确实是在 Raspberry Pi 上运行 BTSync。我遇到的问题是,所有文件夹都没有设置正确的读写权限。如果您有时间和耐心,我强烈建议您尝试使用这个,作为 Dropbox 的便捷替代方案。开始这里。
关于文件冲突,据我所知,BTSync 发生这种情况的唯一情况是文件名称相同但字母大小写不同。例如。来自帮助文档:
发生这种情况的原因可能有多种:
当文件(FIlename.jpg)尝试从一个不区分大小写的系统同步到不区分大小写的系统中的文件夹时,如果其中已经存在文件(filename.jpeg),则后者将产生冲突文件(filename.Conflict.jpg)。
当文件具有相同的名称,但是在 Unix 中字母大小写不同时。
然而,没有版本控制,因此在通常可能在其他系统中产生冲突的情况下(即文件的两个副本在同步之间都已更新),那么解决方案很简单:
BitTorrent Sync 以 UTC 格式检查文件更改时间,较新的文件获胜。