![我可以在 Ubuntu 服务器上运行 U1 吗?](https://linux22.com/image/959395/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%20Ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E8%BF%90%E8%A1%8C%20U1%20%E5%90%97%EF%BC%9F.png)
我们在 ubuntu 服务器上运行一些群件(group-office),但是它仅支持日历、地址和笔记的同步,而不支持文件的同步。
如何在不安装 Gnome 的情况下将 ubuntu 服务器上的文件夹与 ubuntu one 同步?是否有命令行界面可以告诉我的服务器如何连接到 ubuntu one 帐户?
答案1
据我所知,Ubuntu 的一个服务器端软件是所有权,因此无法托管您自己的 Ubuntu One 服务器。但是,还有其他几种技术可用于在多台计算机之间共享文件。
SSHFS:一种文件系统,允许您挂载任何可以通过 SSH 访问的远程文件系统。因此,基本上,您在服务器上需要的只是运行 SSH 服务器,并在客户端上运行 sshfs。可以使用 /etc/fstab 文件或使用 autofs 自动挂载 sshfs 挂载。
网络文件系统:网络文件系统部署起来相当复杂,而且(如果使用不当)存在安全问题。遗憾的是,我没有深入研究过它。
同步:当然,正如 bodhi.zazen 所建议的那样,您始终可以使用 rsync 来“备份”您的文件。rsync 的问题在于,与开箱即用的 Microsoft SyncToy 不同,它不进行双向合并(而且我还没有在 rsync 中找到该选项)。此外,与上面概述的两个建议不同,rsync 进行的是真正的同步,而不是共享一个文件系统,而其他两个则这样做。这有一个好处:所有更改都会立即在客户端之间共享,还有一个缺点:只有在互联网连接可用时,挂载才可用。
git:如果您主要处理文本文件,我向您推荐的另一个选项是 git。您可以像 rsync 一样使用它,但您可以回滚更改并获得更好的合并支持(当两个客户端修改文件时会发生什么?)。此解决方案的缺点是磁盘空间消耗更高(所有增量更新都必须放在某个地方)和复杂的用户界面(因为 git 是一个源代码控制工具,因此必须创建提交才能共享文档)。
答案2
根据您的需要,您可以使用 rsync。
基本语法是
rsync -az -e ssh /home/path/directory_to_sync/ remoteuser@server:/home/path/directory_to_sync
如您所见,rsync 将通过 ssh(remoteuser@server)工作,因此非常安全。
rsync 将仅传输已更改的文件(因此节省带宽),并且可以从 cron 运行,例如,如果您想同步 /home,则可以以 root 身份运行。
查看ubuntu rsync 页面了解详情。
答案3
虽然我们官方不支持在没有 X 和 GNOME 的情况下工作,但有些人成功了:http://per.liedman.net/2011/01/22/using-ubuntu-one-for-backup-on-a-headless-server/年龄变化率