> Ubuntu >

在Ubuntu/Debian上用Unison来同步文件

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

在本地和远程服务器系统上安装:

使用下列两个命令,更新和升级这两个系统:


  1. sudo apt-get update 
  2. sudo apt-get upgrade 

在两个系统上安装Unison。


  1. sudo apt-get install unison unison-gtk 

配置

现在在你的本地系统上,从Menu(菜单)或Dash启动Unison GUI工具。它的界面看起来应该如下。

首先,我们得为同步过程创建一个新的配置文件。点击Add(添加),即可创建一个新的配置文件。点击Forward(下一步)。

输入新配置文件的名称,点击Forward(下一步)。

这里会要求你选择同步方法。我想使用SSH,在本地桌面与远程服务器之间同步文件。于是我在这里从Synchronization Kind(同步类别)下拉框中选择Using SSH(使用SSH)。然后输入远程主机服务器的IP地址和用户名称,如下所示,点击Forward(下一步)。

现在,我们得指定需要复制的本地文件夹和远程文件夹。在Local Directory(本地目录)框里面输入本地文件夹的路径(如本文中的/home/sk/Unixmen),在Remote Directory(远程目录)框里面输入远程文件夹的路径。点击Forward(下一步)。

如果你同步FAT分区里面的任何文件夹,请勾选FAT Partition(FAT)分区,然后点击Forward(下一步)。

最后点击Apply(应用)。

我们已成功地创建了配置文件。点击Open(打开)即可开始。

它会要求你输入远程系统用户密码。输入密码,点击OK(确定)。

如果你头一次使用该应用程序,你会得到如下所示的一段警告信息。点击Ok(确定),继续操作。

现在,你会看到类似这样的屏幕。

把你想要复制的文件夹或文件放入到同步文件夹(/home/sk/unixmen),点击Go(开始同步)。一切都会在幕后进行。

现在查看远程系统里面的文件。它们应该肯定就在那里。如果你添加了一个新的文件或文件夹,点击Rescan(重新扫描);之后,点击Go(开始同步),即可开始同步了。


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

就这样,开始享用吧。你刚才看到的上面这些只是Unison的一个基本概念。你可以用Unison处理许多任务。我建议你仔细阅读官方文档,以获取更多信息。

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

(责任编辑:IT)