在Ubuntu/Debian上用Unison來同步檔案

發表於2013-07-26

Unison是一款免費的、跨平臺的檔案同步工具;有了它,我們就能夠將兩套檔案副本(例項)儲存在兩個不同的平臺上,或儲存在同一個系統的不同磁 盤上。不像簡單的映象方法或備份實用工具,Unison可以同時更新分散式目錄結構的兩個副本。它可以檢測並顯示有衝突的更新。而且不像分散式檔案系 統,Unison是一款使用者級程式;不需要改動核心,也沒必要在任何一個主機上都要擁有根使用者許可權。

Unison可在與網際網路連線的任何一對機器之間使用,通過直接套接層鏈路或基於加密SSH連線的隧道進行聯絡。它謹慎使用網路頻寬,在PPP連線等慢速鏈路上可以順暢地使用。可以使用一種類似rsync的壓縮協議,優化將小容量更新傳送到大檔案的操作。

在這篇實用文章中,我使用了兩臺執行Ubuntu的系統。本地系統執行Ubuntu桌面版,其IP地址是192.168.1.100/24;而遠端 系統則執行Ubuntu伺服器版,其IP地址是192.168.1.201/24。我還準備在這兩個系統之間同步目錄/home/sk/Unixmen。 請根據你的具體情況,更改相應值。

安裝Unison

在本地和遠端伺服器系統上安裝:

使用下列兩個命令,更新和升級這兩個系統:

sudo apt-get update
sudo apt-get upgrade

在兩個系統上安裝Unison。

sudo apt-get install unison unison-gtk

配置

現在在你的本地系統上,從Menu(選單)或Dash啟動Unison GUI工具。它的介面看起來應該如下。

https://i.iter01.com/images/9b5bc34791dcedca29ed77385da261fae59d5ff8f559df8949af882bab841ab3.jpg

首先,我們得為同步過程建立一個新的配置檔案。點選Add(新增),即可建立一個新的配置檔案。點選Forward(下一步)。

https://i.iter01.com/images/5385f524d60b6af37c94b970765b8a46a61da0bfe30f599d18dd18136bd7bfd3.jpg

輸入新配置檔案的名稱,點選Forward(下一步)。

https://i.iter01.com/images/ebdc9b20065e85ec5481169f833920ba1aa2d2786079f83403ff84e4bbf9ccb1.jpg

這裡會要求你選擇同步方法。我想使用SSH,在本地桌面與遠端伺服器之間同步檔案。於是我在這裡從Synchronization Kind(同步類別)下拉框中選擇Using SSH(使用SSH)。然後輸入遠端主機伺服器的IP地址和使用者名稱稱,如下所示,點選Forward(下一步)。

https://i.iter01.com/images/23a12346d7619228408b5b4a5f3419d67eeb0eb42191fa20f5b94043cf1b6d74.jpg

現在,我們得指定需要複製的本地資料夾和遠端資料夾。在Local Directory(本地目錄)框裡面輸入本地資料夾的路徑(如本文中的/home/sk/Unixmen),在Remote Directory(遠端目錄)框裡面輸入遠端資料夾的路徑。點選Forward(下一步)。

https://i.iter01.com/images/81211d0c2b0d17a766dbb54ae7e9dfa2c913b799eb93724bf5646ef5e97d286f.jpg

如果你同步FAT分割槽裡面的任何資料夾,請勾選FAT Partition(FAT)分割槽,然後點選Forward(下一步)。

https://i.iter01.com/images/ce8c383e826299237281092781ff08b5bc79bdaafa16815215eb0ad215d0414f.jpg

最後點選Apply(應用)。

https://i.iter01.com/images/4e6a23e2c5d30cb6d27184db02089e1cd7ed55443ccf5a5c220b6351668f4076.jpg

我們已成功地建立了配置檔案。點選Open(開啟)即可開始。

https://i.iter01.com/images/0e96a462df29e7836b8b444897d9a5f2b6c7cc5a2acee2f8cf59cfa5d5af21e0.jpg

它會要求你輸入遠端系統使用者密碼。輸入密碼,點選OK(確定)。

https://i.iter01.com/images/0f753a67849eccefc56b388a09de2558a2938ac70d82bf2c1315197db916ee38.jpg

如果你頭一次使用該應用程式,你會得到如下所示的一段警告資訊。點選Ok(確定),繼續操作。

https://i.iter01.com/images/224d2381ec17e9d36986be16ca070916515bd1c628036c16709a563e29152829.jpg

現在,你會看到類似這樣的螢幕。

https://i.iter01.com/images/59ae03499cd29ac802492a840c5f261fa36b5ca21e46f7ce8b9b73c1bc958516.jpg

把你想要複製的資料夾或檔案放入到同步資料夾(/home/sk/unixmen),點選Go(開始同步)。一切都會在幕後進行。

現在檢視遠端系統裡面的檔案。它們應該肯定就在那裡。如果你新增了一個新的檔案或資料夾,點選Rescan(重新掃描);之後,點選Go(開始同步),即可開始同步了。

sk@server1:~$ ls /home/sk/Unixmen/
New1  New2  New3

就這樣,開始享用吧。你剛才看到的上面這些只是Unison的一個基本概念。你可以用Unison處理許多工。我建議你仔細閱讀官方文件,以獲取更多資訊。

原文:http://www.unixmen.com/synchronize-files-with-unison-on-ubuntu/

譯文:http://os.51cto.com/art/201307/404642.htm

 已同步至 linux的微博

相關文章