
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux下实现文件双向同步一、unison简介unison是windows、linux以及其他unix平台下都可以用法的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的全都。unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:1.跨平台用法;2.对内核和用户权限没有特殊要求;3.unison是双向的,它能自动处理两分拷贝中更新没有矛盾的部分,有矛盾的部分将会显示出来让用户挑选更新策略;4.只要是能连通的两台主机,就可以运行unison,可以挺直用法socket衔接或平安的ssh衔接方式,对带宽的要求不高,用法类似rsy的传输协议。环境如下::10.13.11
2、4.32二、编译安装unisonlinux下通过源码包编译安装unison时,需要用到objective caml compiler。通过以下方式安装root wget http:/caml.inria.fr/pub/disib/ocaml-3.12/ocaml-3.12.1.tar.gzroot tar -xzvf ocaml-3.12.1.tar.gzroot ocaml-3.12.1root ocaml-3.12.1 ./configureroot ocaml-3.12.1 make world optroot ocaml-3.12.1 make install编译安装unisonroo
3、t wget http:/www.seas.upenn.e/bierce/unison/download/releases/stable/unison-2.40.63.tar.gzroot tar -xzvf unison-2.40.63.tar.gzroot cd unison-2.40.63root unison-2.40.63 make ui ' target='_blank'>extroot unison-2.40.63 make install在执行make install的过程中,可能会浮现以下错误提醒:: cannot '/root/bin/
4、unison': no ch or directorymake: doinstall error 1 (ignor)cp unison /root/bin/cp: cannot create regular file '/root/bin/': is a directorymake: * doinstall error 1浮现错误的缘由在与unison默认是将文件copy到/root/bin名目,但linux默认是没有该名目的,因此我们需要将生成的可执行文件unison复制到系统的path名目。root unison-2.40.63 cp unison /usr/loc
5、al/bin将可执行文件unison上传到远程主机2root unison-2.40.63 scp unison root2:/root/通过ssh登陆到远程主机,再将unison复制到的path名目root cp unison /usr/local/bin三、配置ssh key相信建议通过一般用户举行操作,理由是通过root操作本身就危急,免密码登陆的root就更危急了。在两台服务器上创建admin用户root 12345root useradd -m adminroot passwd 123456在上创建key并配置的相信root su unis
6、onadmin $ ssh-keygen -t rsa在提醒保存私钥(key)和公钥(public key)的位置时,用法默认值;在提醒是否需要私钥密码(passphrase)时,挺直敲回车,即不用法私钥密码。之后,将生成一对密钥,id_rsa(私钥文件)和id_rsa.pub(公钥文件),保存在/home/unison/.ssh/名目下。将公钥添加到的 authorized_keys 文件中将文件上传到admin $ scp /.ssh/id_rsa.pub unison2:/home/unison/用法r用户ssh到登陆到远程主机,并将公钥添加到 authorized
7、_keys 文件中admin $ .sshadmin $ 700 .sshadmin $ mv /id_rsa.pub /.ssh/authorized_keysadmin $ chmod 600 /.ssh/authorized_keys同理,执行以下步骤在上创建key并配置的相信root su adminadmin $ ssh-keygen -t rsa将文件上传到admin $ scp /.ssh/id_rsa.pub unison9:/home/unison/用法rsync用户ssh到登陆到,并将公钥添加到 authorized_keys 文件中admin $ m
8、v /id_rsa.pub /.ssh/authorized_keys重启ssh服务root /etc/init.d/sshd restartroot /etc/init.d/sshd restart四、unison的配置与用法在两台服务器上创建test名目,用于测试root su - adminunison $ mkdir testroot su - unisonunison $ mkdir test在两台服务器上分离执行一次unison,假如浮现提醒确认,则挺直敲回车挑选默认值unison $ unison /home/admin/test/ ssh:/admin2/
9、home/admin/test/unison $ unison /home/admin/test/ ssh:/admin9/home/admin/test/修改两台服务器的unison配置文件,输入以下内容unison $ vim /home/unison/.unison/default.prf unison preferences file root = /home/admin/test root = ssh:/admin2/home/admin/test/ force = ignore = batch = true repeat = 1 retr
10、y = 3 owner = true group = true pes = -1 fastcheck = fae rsync = false sshargs = -c xferbycopying = true log = true logfile = /home/unison/.unison/unison.log unison $ vim /home/unison/.unison/default.prfunison preferences file root = /home/admin/test root = ssh:/admin9/home/admin/test/ fo
11、rce = ignore = batch = true repeat = 1 retry = 3 owner = true group = true perms = -1 fastcheck = false rsync = false sshargs = -c xferbycopying = true log = true logfile = /home/unison/.unison/unison.log 相关注解如下:force表示会以本地所指定文件夹为标准,将该名目同步到远端。这里需要注重,假如指定了force参数,那么unison就变成了单项同步了,也就是说会以force指定的文件夹为准
12、举行同步,类似与rsync。unison双向同步基本原理是:如果有a b两个文件夹,a文件夹把自己的改动同步到b,b文件夹也把自己的改动同步到a,最后a b两文件夹的内容相同,是ab文件夹的合集。unison双向同步的一个缺点是,对于一个文件在两个同步文件夹中都被修改时,unison是不会去同步的,由于unison无法推断以那个为准。ignore = path表示忽视指定名目,即同步时不同步它。batch = true,表示全自动模式,接受缺省动作,并执行。-fastcheck true 表示同步时仅通过文件的创建时光来比较,假如选项为false,unison则将比较两地文件的内容。log = true 表示在终端输出运行信息。logfile 指定输出的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论