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://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112829zyfn996nnf8k00qr.jpg
首先,我们得为同步过程创建一个新的配置文件。点击Add(添加),即可创建一个新的配置文件。点击Forward(下一步)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112829j73akoztbypvj7lj.jpg
输入新配置文件的名称,点击Forward(下一步)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112830u0iwr343u4h200a0.jpg
这里会要求你选择同步方法。我想使用SSH,在本地桌面与远程服务器之间同步文件。于是我在这里从Synchronization Kind(同步类别)下拉框中选择Using SSH(使用SSH)。然后输入远程主机服务器的IP地址和用户名称,如下所示,点击Forward(下一步)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112830dcqkfpdklgjp27g3.jpg
现在,我们得指定需要复制的本地文件夹和远程文件夹。在Local Directory(本地目录)框里面输入本地文件夹的路径(如本文中的/home/sk/Unixmen),在Remote Directory(远程目录)框里面输入远程文件夹的路径。点击Forward(下一步)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112830bbubgmqmbepibbpz.jpg
如果你同步FAT分区里面的任何文件夹,请勾选FAT Partition(FAT)分区,然后点击Forward(下一步)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/1128315thlltouyrvs6ogy.jpg
最后点击Apply(应用)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112831mb4lm90qmrmrg240.jpg
我们已成功地创建了配置文件。点击Open(打开)即可开始。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112831la5g33oaznw553nw.jpg
它会要求你输入远程系统用户密码。输入密码,点击OK(确定)。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/112835hgs29b0yz9a0wiyc.jpg
如果你头一次使用该应用程序,你会得到如下所示的一段警告信息。点击Ok(确定),继续操作。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/11283593b43wglvlmibjjv.jpg
现在,你会看到类似这样的屏幕。
https://dn-linuxcn.qbox.me/data/attachment/album/201307/25/1128358lauy5rlgjtuyije.jpg
把你想要复制的文件夹或文件放入到同步文件夹(/home/sk/unixmen),点击Go(开始同步)。一切都会在幕后进行。
现在查看远程系统里面的文件。它们应该肯定就在那里。如果你添加了一个新的文件或文件夹,点击Rescan(重新扫描);之后,点击Go(开始同步),即可开始同步了。
sk@server1:~$ ls /home/sk/Unixmen/
New1 New2 New3
就这样,开始享用吧。你刚才看到的上面这些只是Unison的一个基本概念。你可以用Unison处理许多任务。我建议你仔细阅读官方文档,以获取更多信息。
原文发布时间为:2013-07-26