Unison在Linux下的安装与使用
这是一篇在公司写的文档,但不涉及公司隐私。几乎所有内容参考于:https://www.cnblogs.com/welcomer/p/5068287.html 引言 编写目的 编写本文档是为了让读者快速上手使用Unison进行两台Linux服务器文件进行同步。 前景 Unison是windows和unix平台下都可以使用的双向文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。 unison 拥有其它一些同步工具或文件系统的相同特性,但也有自己的特点: 跨平台使用; 对内核和用户 权限 没有特别要求; unison 是双向的,它能自动 处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略; 只要是能连通的两台主机 ,就可以运行 unison ,可以直接使用 socket 连接或安全的 ssh 连接方式,对带宽 的要求不高,使用类似 rsync 的压缩传输协议。 Unison双向同步的一个缺点是,对于同名文件在两个同步文件夹中都被修改时,unison是不会去同步的,因为unison无法判断以那个为准。 定义 本文档介绍如何同步两台服务器,为表述方便,将第一台服务器命名为“服务器1”,操作该服务器的用户为“system1”;将第二台服务器命名为“服务器2”,操作该服务器的用户命名为“system2”。 参考资料 《使用Unison同步服务器目录》 https://www.cnblogs.com/welcomer/p/5068287.html 安装与初始化 由于在目录同步时需要跨服务器通过ssh连接,因此不建议使用root用户,建议新建普通用户进行操作。 在两台或多台服务器之间同步,只需要在第一台服务器上安装Unison,再用scp连接将可执行的unison文件复制到第二台服务器上即可。 安装Unison 由于使用源码包安装Unison需要安装Ocaml依赖,且Unison默认将文件复制到“/用户名/bin/”目录下,会导致在make install步骤时提示错误,所以建议使用apt-get或yum安装。 Ubuntu下安装:在配置好阿里云的apt-get源之后,使用sudo apt-get install unison安装。 CentoOS下安装:使用yum install unison安装。 将Unison复制到服务器2 使用apt-get或yum安装Unison后,默认放在/usr/bin/unison。 1、使用ssh连接到远程主机: scp /usr/bin/unison root@服务器2的IP地址:/root/ 注意:在Ubuntu下,如果服务器没有安装openssh-server,则无法被其他服务器连接,解决方法: 使用sudo apt-get install openssh-server安装 在/etc/ssh/sshd_config文件中,把将PermitRootLogin prohibie-password 修改为:PermitRootLogin yes 重启ssh服务即可使用。 2、登录服务器2,使用复制命令,将可执行文件unison从/root/移到/usr/bin/下。 cp /root/unison /usr/bin/ 3、在两台服务器上都输入unison –version,查看是否安装成功。如果返回了版本号,则安装成功。 [root@服务器名 ~]$ unison -version unison version 2....