我把所有作业都存档在家用电脑 (mac) 上的一个文件夹中,并将该文件夹镜像到我在大学 (linux) 的个人帐户上。我想让这些文件夹保持同步,我正在寻找其他方法来做到这一点。主要困难:我在家里和大学都在处理这个文件夹(但幸运的是从来不会同时处理)。
目前,该文件夹也镜像在我的 VPS(Linux)上,我的家用电脑每小时使用 cron 作业将所有更改 rsync 到该 VPS。我在大学的主文件夹中有一个脚本,如果我调用它,它可以将所有更改从 VPS rsync 到大学系统(它是到中央服务器的 NFS),另一个脚本可以将任何更改 rsync 到 VPS。下载脚本也在我的家用电脑上,用于获取在大学期间所做的更改。
这些脚本有一个--delete
标志,它只会传递给 rsync,如果我在某个时候删除了文件,我就可以使用它(否则 rsync 永远不会删除文件,这是有充分理由的)。使用这个系统同步我家和大学之间的所有文件效果很好,但总是必须手动从大学调用 rsync 很麻烦(我可以让它自动运行,但我仍然必须下载更改,并且我担心我的 VPS 上发生冲突,所以我宁愿只有一个端点自动同步我的更改)。
我曾考虑过使用 git 来实现这一点,让我的 VPS 充当 git 服务器。这将解决我遇到的任何分歧问题(由于过度使用,我最近丢失了一些文件--delete
),但我不确定 git 是否能够处理包含 3000 多个文件的 ~600MB 存储库。(不要问。)还有其他方法/工具可以有效地做到这一点吗?我是否值得花时间编写一个 FUSE 文件系统,它只会传递到本机文件系统,但在途中记录更改(也许会以神奇的方式同步所有内容……)?
答案1
由于您似乎拥有一个可以允许您运行服务器的 VPS,请查看 OwnCloud 和 NextCloud - 它们提供类似于 drop-box 的分布式备份和同步,但使用您自己的硬件。
有适用于 Windows、Linux、Android、Mac 以及其他操作系统的客户端。
答案2
在我自己的机器上,我一直在使用同步。如果您愿意使用 Web GUI 进行配置,这是一个相当不错的跨平台解决方案。我已将其设置为在我的笔记本电脑(具有 Linux 和 Windows 分区)、我的手机和几个无头服务器之间同步文件。诚然,我从未用大量文件测试过它,但它对我的设置来说效果很好。
答案3
我使用 Google Drive。
他们免费提供 15 GB,并且可以从任何机器(无论是 Windows、Android 还是 Linux)轻松访问。
您可以安装桌面应用程序以便轻松访问它。
或者,您可以登录http://drive.google.com无论您身在何处,都可以通过任何计算机进行。