我使用带有 Ubuntu 桌面的笔记本电脑来完成我的所有工作,但我的办公室也有一个低端桌面,就坐在那里。我决定在上面安装 Ubuntu-server 并使用它来镜像我的整个笔记本电脑主文件夹,以便在我决定格式化笔记本电脑的硬盘时更容易。
每当我在工作时,两台机器都连接到网络并通过 ssh 轻松(和高速)通信。当我不工作时,仍然可以通过 ssh 访问桌面。理想情况下,只要我更改某些内容,同步就会在后台自动进行。它只需要一种方式:我在笔记本电脑上所做的更改必须同步到服务器,但不需要相反。
我知道有这样的软件,我的问题是:我可以使用什么软件来实现上述目标并在工作时充分利用本地网络速度?由于我有时会处理大文件,因此同步过程需要意识到两台计算机共享一个本地网络,然后利用它(而不是总是通过互联网同步)。
需要明确的是,网络同步对我来说实际上比网络同步更重要。理想情况下,该软件会检查前者是否可用,如果没有,请尝试后者;但如果这不可能,第一种情况是我的首要任务。
希望这不会太长。提前致谢。
如果您只能通过 SSH 连接到您的办公室服务器,那么您最好的选择是使用rsync:它可以使用 SSH 作为传输协议,并使用智能算法通过仅发送更改的块来加速大文件的传输。
由于您只需要单向同步,只需设置从您的笔记本电脑到办公室服务器的无密码 SSH 身份验证,然后您可以从一个简单的命令开始:
添加
--include
和--exclude
选项以优化要同步的文件/目录列表。例如,如果两台计算机运行的操作系统不同(相同版本),则传输程序设置(“点文件”)可能会有风险。我的建议是首先排除所有“点文件”(因此,使用--exclude="$HOME/.[a-z]*"
),然后有选择地添加可以安全共享的程序的配置目录(这必须逐个程序查看)。此外,网络浏览器缓存并$HOME/.cache
始终可以排除。rsync
有关包含/排除规则语法的详细讨论,请参见手册页中的“过滤规则”部分。但是,
rsync
它没有“连续操作”模式,因此您必须定期从 crontab运行它。我建议在 rsync 上使用 rdiff-backup。它几乎只是 rsync++。
不像 rsync 只是一个传输差异的 1-1 镜像,rsync 有一个历史机制。因此,如果您搞砸并删除了重要的内容,您可以恢复到一周前并将其取回。
在 ubuntu“服务器”上,您只需要运行 ssh 即可 apt-get install rdiff-backup。
在客户端。我要么手动运行它.. 要么通过 crontab。
如果您将端口 22 开放到互联网..您应该能够以任何一种方式运行相同的脚本..只需将您的主机名本地解析为您的本地 IP。
IE。backupSrv.penguins.org 会解析到外部IP。2.3.4.5 但在你的局域网内:到 192.168.1.253
据我所知,没有针对您的问题的完整的、预先打包的解决方案。为此,您可能必须自己编写一些小脚本。
rsync
正如 Riccardo Murri 已经解释的那样,同步本身可以由 完成。Rsync 仅传输文件的更改部分,因此非常适合此任务。您可以使用NetworkManagerDispatcher在连接/断开网络接口时执行脚本。因此,您可以编写一个脚本来检查您是否在正确的网络上,然后调用 rsync。这样,当您连接到公司网络时,您的数据将自动同步。
如前所述,要定期同步您的数据,您可以使用 cron。
通过 ssh 使用 rsync 时,您还应该考虑安全性。要在没有用户干预的情况下进行同步,您需要一个无密码的密钥文件。拥有此密钥文件的任何人都可以访问它所属的服务器。我强烈建议加密您的主文件夹以保护笔记本和服务器上的数据。
投递箱 | 投递箱@超级用户 http://www.dropbox.com/help/137
DropBox 在你的情况下应该很好,适用于 Linux、mac、windows,易于设置和管理。
下载投递箱
https://superuser.com/questions/147315/dropbox-to-sync-nix-home-folders
http://wiki.dropbox.com/TipsAndTricks/SyncOtherFolders
通读一遍 - 它确实支持通过符号链接同步,如果有某些文档、图形、电子表格您必须同步 - 您仍然可以在保管箱中维护它们的副本或将它们永久保存在保管箱位置以节省麻烦。
尝试 Sparkleshare:http ://sparkleshare.org/
Ubuntu repo 中有一个客户端,它有关于如何在他们的网站上设置服务器的说明。
2015年最好的解决方案应该是Seafile:https ://www.seafile.com/en/download/
Sparkleshare 开发人员说他们的工具适用于许多小文件,尤其是文本文件,但不适用于较大的二进制文件。
在性能方面,它优于 Sparkleshare 和 Owncloud。
另外,它比 OwnCloud 的资源消耗少得多 - 因此实例可以在 Banana 或 Raspberry 上运行,而不会像 24/7 运行的计算机那样出现任何问题。(不过我会推荐 Banana Pi,因为千兆网络和 SATA 接口,至少对我来说,它是文件服务器的不错选择。)
我将我的主文件夹与三台计算机同步。我排除了点文件,它们是通过 git repo 和一些逻辑处理的,因为 - 正如里卡多所提到的 - 在不同的计算机上共享点文件和其他配置存在一些问题,即使它的操作系统和版本相同。例如考虑monitors.xml,或者笔记本电脑和多屏桌面上的IDE的一些不同布局——或者在两台计算机上打开的程序。
除了同步之外,我还通过 borgbackup 备份了这些数据。它是一个非常不错的新备份程序,可以进行重复数据删除,在初始备份后速度非常快,并且具有许多工具所缺乏的许多功能。
它对我来说是完美的设置。