我有两台计算机,它们镜像相同的数据。rsync 是让我保持这两台机器同步的最佳工具吗?一台是台式机,另一台是笔记本电脑,两台都运行 Linux。
沃尔特
答案1
您需要同步多少数据?
如果所有内容都在不同的目录中或全部在里面,哦,说的是~/documents/?
rsync 可以工作,但是可能还有其他选项可以给你带来其他好处。
Dropbox.com 就是其中之一,提供 2GB 的免费存储空间。http://www.dropbox.com/referrals/NTExNTI1Mjk如果 Dropbox 对您来说是一个不错的解决方案,则此链接将为您提供额外的 250MB 免费存储空间。
SpiderOak 是另一个,同样的东西,2GB 免费,之后再付费(OpenSUSE 用户可享受折扣)
还有 Unison。http://www.cis.upenn.edu/~bcpierce/unison/其同步工作完成得非常好。
几乎任何方法都可以实现这一点,只是什么是最有效的,什么是最快的,什么能给你带来像酒店枕头上的巧克力一样的小奖励。
答案2
补充 Alpha1 的答案,如果数据大于 2GB,并且你想在没有类似 Dropbox 的服务的情况下完成此操作,Unison 是解决方案为你。
据我所知,Unison 是唯一一款可以完成这项任务的可靠工具。即使在极端情况下,即使您的计算机崩溃,它也能正确执行。
- 两个镜像具有相同的重要性/优先级。
- 文件可以在任意一台计算机上更改,也可以被删除。
- 您想要将更改传播到另一个镜像。
- 您不希望已删除(或重命名!)的文件被恢复,相反,您希望传播删除,并
rsync
会造成混乱。 - 如果您在两个镜像中都更改了某个文件,或者在一个镜像中更改了该文件而在另一个镜像中将其删除,您不希望这些更改自动传播。您需要自己解决这个问题。
一旦设置完成,Unison 不仅强大而且快速!
Unison 大约需要 3 秒钟才能告诉您,ext4 文件系统中存储的 200GB 的每个镜像中都没有发生任何变化。如果您在 ext4 顶部有 ecryptfs,则大约需要 3 分钟。如果发生更改,它会花一些时间分析更改的文件,因此时间与更改成正比。
不要从台式机远程安装笔记本电脑,反之亦然。告诉 Unison 通过 ssh 访问另一个根目录,这样它就可以看到自上次同步以来文件所在的真实文件系统并进行快速检查。两台计算机应该具有相同版本的 Unison。
答案3
如果他们运行的是 Ubuntu,为什么不使用Ubuntu 一号?它的设计专门用于完成您想要做的事情,并且还支持一些其他很酷的用例。