CentOS 6.5 是一款经典的企业级 Linux 发行版,尽管其生命周期已结束,但在某些特定场景下仍被使用,Unison 是一款跨平台的文件同步工具,支持双向同步,能够高效地在多台计算机之间保持文件一致性,本文将介绍在 CentOS 6.5 系统上安装、配置和使用 Unison 的方法,帮助用户实现可靠的文件同步。

安装 Unison
在 CentOS 6.5 上,Unison 可以通过源码编译或 Yum 仓库安装,推荐使用 Yum 方式,因为它更简单快捷,确保系统已更新至最新状态:
sudo yum update -y
安装 EPEL 仓库(如果尚未安装):
sudo rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
使用 Yum 安装 Unison:
sudo yum install unison -y
安装完成后,可通过 unison -version 命令验证是否成功。
配置 SSH 免密登录
Unison 支持 SSH 协议进行远程同步,因此需要预先配置 SSH 免密登录,假设本地主机为 A,远程主机为 B,执行以下步骤:

- 在主机 A 上生成 SSH 密钥对(如果尚未生成):
ssh-keygen -t rsa
- 将公钥复制到主机 B:
ssh-copy-id user@hostB
- 测试免密登录是否成功:
ssh user@hostB
若无需密码即可登录,则配置完成。
创建同步配置文件
Unison 使用配置文件定义同步规则,在用户主目录下创建 .unison 文件夹,并添加一个配置文件(如 sync.prf):
mkdir ~/.unison nano ~/.unison/sync.prf ``` 示例: ```ini root = /path/to/local/directory root = ssh://user@hostB//path/to/remote/directory auto = true batch = true retry = 3
root指定本地和远程路径;auto自动接受默认操作;batch以批处理模式运行,避免交互式提示;retry设置同步失败时的重试次数。
执行同步操作
配置完成后,可通过以下命令启动同步:
unison sync.prf
首次同步时,Unison 会提示确认操作,后续同步将根据配置文件自动进行,若需手动控制,可添加 -ui text 参数使用文本界面。
高级功能与注意事项
- 排除特定文件:在配置文件中使用
ignore规则,ignore = Name temp.* ignore = Path .git
- 定时同步:结合
cron实现自动化同步,编辑 crontab:crontab -e
添加任务,例如每 10 分钟同步一次:

*/10 * * * * /usr/bin/unison sync.prf > /dev/null 2>&1
- 权限问题:确保远程目录的权限允许写入,否则同步会失败。
相关问答 FAQs
Q1:Unison 与 Rsync 有何区别?
A1:Unison 支持双向同步,能够检测文件在两端的修改并自动合并,适合需要双向同步的场景;而 Rsync 主要用于单向同步,更适合备份或镜像场景,Unison 更适合需要双向保持数据一致性的情况。
Q2:同步过程中出现冲突如何解决?
A2:Unison 默认会保留冲突文件的副本,并在同步后提示用户手动解决,可以通过配置 prefer 参数指定优先保留哪一端的文件,或使用 merge 工具(如 diff3)自动合并文本文件冲突。