我們在 ubuntu 伺服器上運行一些元件(group-office),但它僅支援日曆、地址和便箋同步,但不支援文件同步。
如何在不安裝 Gnome 的情況下將 ubuntu 伺服器上的資料夾與 ubuntu 同步?是否有任何命令列介面告訴我的伺服器如何連接到 ubuntu one 帳戶?
答案1
據我所知,Ubuntu one伺服器端軟體是所有權,這樣就不可能託管自己的 Ubuntu One 伺服器。然而,還有其他幾種技術可以用來在多台電腦上共用檔案。有
sshfs:一個檔案系統,可讓您掛載可以透過 SSH 存取的任何遠端檔案系統。所以基本上你的伺服器上需要的只是一個運行的 SSH 伺服器和客戶端上的 sshfs。 sshfs 掛載可以使用 /etc/fstab 檔案或使用 autofs 自動掛載。
網路檔案系統:網路檔案系統部署起來相當複雜,且(如果使用不正確)有安全性問題。令我羞愧的是我沒有深入研究它。
同步:當然,正如 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/青年MMV