linux应用之文件实时同步(sersync)

简介: http://hi.baidu.com/johntech/blog/item/be8559d2ebc99282a1ec9c18.html 公司最近业务需求,要实时同步windows与linux,linux与linux之间的数据。

http://hi.baidu.com/johntech/blog/item/be8559d2ebc99282a1ec9c18.html

 

公司最近业务需求,要实时同步windows与linux,linux与linux之间的数据。我们使用是sersync这个开源的软件,是由金山才子所写。项目详情请访问: http://code.google.com/p/sersync/  qq群:37499077 欢迎讨论
 
一..linux之间的文件实时同步
sersync的设计用以替代inotify-tool工具,同样是调用rsync+inotify来执行实时同步的,它的效率更高。
server端:
1.首先需要确定内核版本为2.6(支持inotify)并确认系统已经安装rsync
请参考我如下的操作步骤:
 
2.配置rsync.conf:
 
以上的配置文件说明在server配置了一个名为tongbu1的模块,需要同步的目录为/usr/local/test 访问的用户名为transfer,密码存放文件为rsyncd.secrets。注意修改密码文件的属性600.
 
3.开启rsync daemon格式
 
client端配置:
 
1..首先需要下载sersync最新版本2.5
 
2.解压并编辑confxml.xml ,confxml.xml 是sersync的配置文件,用于指定需要同步的目录及是否刷新cdn接口等
-bash-3.2# tar zxvf sersync2[1].5beta1_32bit_binary.tar.gz
-bash-3.2# cd GNU-Linux-x86/
 
当前最新版本中已经增加了同步过滤,密码验证以及--delete功能,仍然不支持多目录同步到多目录的操作。
以上配置文件我做一下解释:使用用户名transfer(密码存放在/etc/rsync.pas中)将本机的/opt/tongbu/实时目录同步到局域网内38和188这两个rsync server端定义的tongbu1和webbackup模块中(我的截图有一个错误188处的注释没完整去掉),并且开启--delete功能。
 
3.启用实时同步功能(完整同步一次并开启驻留进程)
-bash-3.2# ./sersync2 -d -r
请使用 sersync --heltp 获取帮助
 
linux之间的实时文件同步到这里就完成了、
 
二.linux向windows做实时的文件同步
 
这个可以通过samba挂载windows目录到linux上面实现。我们仍然采用sersync进行实时同步。window安装比较简单,就不截图了
1..在windows端下载cwrsync
2..安装并编辑rsyncd.conf文件
3..设置RsyncServer为自动启动
 
几点说明:配置和linux下的是差不多的。要注意的是密码文件的所有用户的读属性都要去掉,我这里权限出了问题。记得同步的目录d盘的cms文件夹要开启SvcCWRSYNC用户的完全控制权限,记得修改配置文件后重启服务。
更改密码文件属组方法:
在cmd下进入安装目录,chmod 600 /rsyncd.passwd
错误i nvalid uid nobody处置办法:
打开配置文件:rsyncd.conf
在文件开头添加
uid = 0
gid = 0
 
3..客户端的配置
同之前linux到linux之间的实时同步是一样的
 
三.windows到linux之间的数据实时同步
提供以下三种方法供各位参考,其中方法一和方法二延时约1分钟,方法三实时。
1..linux通过samba挂载windows目录
遗憾的是在server端的数据更改,samba并不通知内核,inotify也就无法检视到。可以定时(几秒钟)向挂载的目录中echo一个空文件,用以激活inotify进行同步。经过线上使用此方法尚可,延时不到1分。samba的效率确实不高 
2.sersync定期去取位于windows下的cwrsync定义的模块内容
配置就不提供了,经过试验此方式效率优于samba但是仍然不能做到实时,即使每秒钟去同步一次也不可以。
 
3.借助windows下的软件实现
这种软件有很多种,我们这里采用super flexible file synchronizer v5.0,通过ssh进行加密文件传输,使用方式请参考 http://www.superflexible.com/,这里给我们的任务计划截图:
 
我们使用此种方式在没有专线的情况下每天大约实时传输约3g的数据量,暂时没有出现什么问题。
好了,先说这些。希望有好解决方案的大侠们告之下,mail: yanggy@ufida.com.cn
 
目录
相关文章
|
23小时前
|
Linux 开发工具
Linux E325: 注意 发现交换文件 “*.swp“
Linux E325: 注意 发现交换文件 “*.swp“
8 0
|
23小时前
|
Linux 开发工具
linux中出现不在 sudoers 文件中。此事将被报告的解决方法
linux中出现不在 sudoers 文件中。此事将被报告的解决方法
7 0
|
1天前
|
关系型数据库 MySQL Linux
Linux 文件访问权限说明
Linux 文件访问权限说明
6 0
|
1天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。
|
1天前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
20 5
|
2天前
|
Linux
Linux 文件查找
Linux 文件查找
|
2天前
|
运维 NoSQL Linux
linux环境收集core文件步骤
请注意,生成core文件可能会占用磁盘空间,因此应谨慎使用。一旦完成故障排查,建议将相关的core文件删除以释放磁盘空间。
13 4
|
4天前
|
Linux 开发工具 Perl
|
6天前
|
Linux Shell 调度
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
【Linux系列】fork( )函数原理与应用详解——了解【父子进程及其特性】(代码演示,画图帮助理解,思维导图,精简)(11)
|
7天前
|
Linux
Linux文件误删恢复
请注意,成功恢复误删文件的机会取决于多个因素,包括文件被删除后经过的时间、磁盘的使用情况以及您采取的操作。因此,尽可能快速采取行动,并避免在误删文件所在的磁盘上写入新数据,以提高恢复成功的可能性。
12 0