Unsion工具实现数据的实时同步
2010-07-06 11:50
555 查看
一:Unison简介
Unison是windows和unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。Unison有文字界面和图形界面,这里只介绍如何在文字界面下使用. unison拥有其它一些同步工具或文件系统的相同特性,但也有自己的特点:
跨平台使用;
对内核和用户权限没有特别要求;
unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略;
只要是能连通的两台主机,就可以运行unison,可以直接使用socket连接或安全的ssh连接方式,对带宽的要求不高,使用类似rsync的压缩传输协议。
[align=left]二:Unison的安装[/align]
unison各种版本下载地址:
http://www.seas.upenn.edu/~bcpierce/unison//download.html
unison 编译器下载地址:
http://caml.inria.fr/pub/distrib/ocaml-3.10
从以上地址可以下载各种平台,各种版本的unison,有基于源码安装的,有二进制的,我下载的是二进制的,可以直接使用.这里介绍源码安装:
源码安装unison
[align=left]1.ocaml-3.10.0的安装(安装unsion所需要的依赖包,两台服务器都需要安装)[/align]
[align=left]1. #wget http://caml.inria.fr/pub/distrib/ocaml-3.10/ocaml-3.10.0.tar.gz [/align]
[align=left]2. #tar -zxvf ocaml-3.10.0.tar.gz [/align]
[align=left]3. #cd ocaml-3.10.0 [/align]
[align=left]4. #./configure [/align]
[align=left]5. #make world && make bootstrap && make opt && make opt.opt && make install [/align]
[align=left]2.unison-2.13.16的安装 (两台服务器都需要安装)[/align]
[align=left]1. #wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.13.16.tar.gz [/align]
[align=left]2. #tar -zxvf unison-2.13.16.tar.gz [/align]
[align=left]3. #cd unison-2.13.16 [/align]
[align=left]4. # make UISTYLE=text THREADS=true STATIC=true && make install [/align]
[align=left](使用命令行方式,加入线程支持,编译为静态模式)[/align]
[align=left]三:Unsion的配置[/align]
1.配置ssh无密码登陆
1)生成密钥
#ssh-keygen (一路回车)
2)配置sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys (去掉这三项的注释)
3)导入/导出公钥
node1#scp root@192.168.0.163:/root/.ssh/id_rsa.pub /root && cat /root/id_rsa.pub >> /root/.ssh/authorized_keys && rm
/root/id_rsa.pub
node1#scp .ssh/id_rsa.pub root@192.168.0.163:/root && ssh root@node2 "cat /root/id_rsa.pub >>
/root/.ssh/authorized_keys && rm /root/id_rsa.pub"
4)重启sshd
#service sshd restart
2.配置unison
1)创建链接
#ln -s /root/bin/unison /bin
2)创建/root/.unison/default.prf
[align=left]注意:root = ssh://192.168.0.163//turbomail/accounts 在另一台服务器上这里写上对方服务器的ip地址[/align]
[align=left] #vi /root/.unison/default.prf [/align]
[align=left]2. root = /turbomail/accounts [/align]
[align=left]3. root = ssh://192.168.0.163//turbomail/accounts/[/align]
[align=left]4. log = true [/align]
[align=left]5. auto = true [/align]
[align=left]6. batch = true [/align]
[align=left]7. maxthreads = 500 [/align]
[align=left]8. owner = true [/align]
[align=left]9. group = true[/align]
[align=left]10.perms = -1[/align]
[align=left]11.repeat = 1 [/align]
[align=left]12.retry = 3 [/align]
[align=left]13.sshargs = -C [/align]
[align=left]14.xferbycopying = true [/align]
3.测试
1.建同步目录
[align=left]1. #mkdir /root/test [/align]
[align=left]2. #touch /root/test/i-am-no-empty [/align]
[align=left]2.测试脚本test.bash[/align]
[align=left]1. #!/bin/bash [/align]
[align=left]2. for i in `seq 1 20000` ; do [/align]
[align=left]3. cp -f /root/test/rhel-ld-en.pdf /root/test/${i}.pdf; [/align]
[align=left]4. done [/align]
[align=left]3.启动unison[/align]
#unison
Contacting server...
Looking for changes
Waiting for changes from server
Reconciling changes
Nothing to do: replicas have not changed since last sync.
[align=left]Sleeping for 1 seconds...[/align]
本文出自 “旋律@逍遥” 博客,请务必保留此出处http://turbomailtt.blog.51cto.com/934223/344762
Unison是windows和unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致。Unison有文字界面和图形界面,这里只介绍如何在文字界面下使用. unison拥有其它一些同步工具或文件系统的相同特性,但也有自己的特点:
跨平台使用;
对内核和用户权限没有特别要求;
unison是双向的,它能自动处理两分拷贝中更新没有冲突的部分,有冲突的部分将会显示出来让用户选择更新策略;
只要是能连通的两台主机,就可以运行unison,可以直接使用socket连接或安全的ssh连接方式,对带宽的要求不高,使用类似rsync的压缩传输协议。
[align=left]二:Unison的安装[/align]
unison各种版本下载地址:
http://www.seas.upenn.edu/~bcpierce/unison//download.html
unison 编译器下载地址:
http://caml.inria.fr/pub/distrib/ocaml-3.10
从以上地址可以下载各种平台,各种版本的unison,有基于源码安装的,有二进制的,我下载的是二进制的,可以直接使用.这里介绍源码安装:
源码安装unison
[align=left]1.ocaml-3.10.0的安装(安装unsion所需要的依赖包,两台服务器都需要安装)[/align]
[align=left]1. #wget http://caml.inria.fr/pub/distrib/ocaml-3.10/ocaml-3.10.0.tar.gz [/align]
[align=left]2. #tar -zxvf ocaml-3.10.0.tar.gz [/align]
[align=left]3. #cd ocaml-3.10.0 [/align]
[align=left]4. #./configure [/align]
[align=left]5. #make world && make bootstrap && make opt && make opt.opt && make install [/align]
[align=left]2.unison-2.13.16的安装 (两台服务器都需要安装)[/align]
[align=left]1. #wget http://www.seas.upenn.edu/~bcpierce/unison//download/releases/stable/unison-2.13.16.tar.gz [/align]
[align=left]2. #tar -zxvf unison-2.13.16.tar.gz [/align]
[align=left]3. #cd unison-2.13.16 [/align]
[align=left]4. # make UISTYLE=text THREADS=true STATIC=true && make install [/align]
[align=left](使用命令行方式,加入线程支持,编译为静态模式)[/align]
[align=left]三:Unsion的配置[/align]
1.配置ssh无密码登陆
1)生成密钥
#ssh-keygen (一路回车)
2)配置sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys (去掉这三项的注释)
3)导入/导出公钥
node1#scp root@192.168.0.163:/root/.ssh/id_rsa.pub /root && cat /root/id_rsa.pub >> /root/.ssh/authorized_keys && rm
/root/id_rsa.pub
node1#scp .ssh/id_rsa.pub root@192.168.0.163:/root && ssh root@node2 "cat /root/id_rsa.pub >>
/root/.ssh/authorized_keys && rm /root/id_rsa.pub"
4)重启sshd
#service sshd restart
2.配置unison
1)创建链接
#ln -s /root/bin/unison /bin
2)创建/root/.unison/default.prf
[align=left]注意:root = ssh://192.168.0.163//turbomail/accounts 在另一台服务器上这里写上对方服务器的ip地址[/align]
[align=left] #vi /root/.unison/default.prf [/align]
[align=left]2. root = /turbomail/accounts [/align]
[align=left]3. root = ssh://192.168.0.163//turbomail/accounts/[/align]
[align=left]4. log = true [/align]
[align=left]5. auto = true [/align]
[align=left]6. batch = true [/align]
[align=left]7. maxthreads = 500 [/align]
[align=left]8. owner = true [/align]
[align=left]9. group = true[/align]
[align=left]10.perms = -1[/align]
[align=left]11.repeat = 1 [/align]
[align=left]12.retry = 3 [/align]
[align=left]13.sshargs = -C [/align]
[align=left]14.xferbycopying = true [/align]
3.测试
1.建同步目录
[align=left]1. #mkdir /root/test [/align]
[align=left]2. #touch /root/test/i-am-no-empty [/align]
[align=left]2.测试脚本test.bash[/align]
[align=left]1. #!/bin/bash [/align]
[align=left]2. for i in `seq 1 20000` ; do [/align]
[align=left]3. cp -f /root/test/rhel-ld-en.pdf /root/test/${i}.pdf; [/align]
[align=left]4. done [/align]
[align=left]3.启动unison[/align]
#unison
Contacting server...
Looking for changes
Waiting for changes from server
Reconciling changes
Nothing to do: replicas have not changed since last sync.
[align=left]Sleeping for 1 seconds...[/align]
本文出自 “旋律@逍遥” 博客,请务必保留此出处http://turbomailtt.blog.51cto.com/934223/344762
相关文章推荐
- 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)
- 基于netcore实现mongodb和ElasticSearch之间的数据实时同步的工具(Mongo2Es)
- Unison+inotify实现数据实时双向同步
- CentOS 6.5 rsync+inotify实现数据实时同步备份
- 总结之:CentOS 6.5 rsync+inotify实现数据实时同步备份
- 部署rsync+sersync实现多机数据实时同步
- Linux 文件同步工具——inotify+rsync实现实时同步
- Linux下Rsync+sersync实现数据实时同步
- 系统间通讯实现数据信息实时同步解决方案
- inotify+unison实现数据双向实时同步
- rsync+inotify 实现数据实时同步
- sersync实现数据实时同步
- Linux学习系列之Inotify+Rsync实现实时数据同步
- Linux下Rsync+sersync实现数据实时同步
- Linux下Rsync+sersync实现数据双向实时同步
- Rsync+Inotify实现数据实时同步
- Linux下Rsync+sersync实现数据实时同步
- Linux下Rsync+Inotify-tools实现数据实时同步
- 第三十五天-sersync高级同步工具实时数据同步实战
- sersync:基于 rsync + inotify 实现数据实时同步