sersync+rsync多实例网站数据同步

1、网络拓扑图

2、 环境部署准备

192.169.59.17     M-server

192.168.59.14     s1-server

192.168.59.15     s2-server

1、检查系统环境变量

[[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final)
[[email protected] ~]# uname -r2.6.32-504.el6.x86_64
[[email protected] ~]# uname -mx86_64

2、在S1和S2服务器创建rsyncd.conf配置文件

vim /etc/rsyncd.conf

#Rsync server#created by lx 15:01 2009-6-5##rsyncd.conf start##uid = root
gid = root
use chroot = no
max connections = 2000timeout = 600pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 10.0.0.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
#####################################
[www]
comment = www by lx 14:18 2012-1-13
path = /data0/www/www/
#####################################
[bbs]
comment = bbs by lx 14:18 2012-1-13
path = /data0/www/bbs/
#####################################
[blog]
comment = blog by lx 14:18 2012-1-13
path = /data0/www/blog/

3、创建目录

mkdir -p /data0/www/{www,bbs,blog}

4、设置相关权限认证

echo "rsync_backup:oldboy" >/etc/rsync.password
chmod 600 /etc/rsync.password
检查权限是否正确
cat /etc/rsync.password
ll /etc/rsync.password

5、开启rsync守护进程

rsync --daemonps -ef|grep rsync
lsof -i tcp:873

6、将rsync服务加入开机自启动

echo "/usr/local/bin/rsync --daemon" >>/etc/rc.local

7、重启rsync

pkill rsync
rsync --daemon

8、 在Master上配置rsync权限

echo “oldboy” >/etc/rsync.password
chmod 600 /etc/rsync.password
检查
cat /etc/rsync.password
ll /etc/rsync.password

9、 在Master上手工测试rsync同步情况

mkdir -p /data0/www/{www,bbs,blog}
touch /data0/www/www/www.log /data0/www/bbs/bbs.log /data0/www/blog/blog.log
 
手动测试,执行同步命令
rsync -avzP /data0/www/www/ [email protected]::www/ --password-file=/etc/rsync.password
rsync -avzP /data0/www/www/ [email protected]::www/ --password-file=/etc/rsync.password
 
rsync -avzP /data0/www/bbs/ [email protected]::bbs/ --password-file=/etc/rsync.password
rsync -avzP /data0/www/bbs/ [email protected]::bbs/ --password-file=/etc/rsync.password
 
rsync -avzP /data0/www/blog/ [email protected]::blog/ --password-file=/etc/rsync.password
rsync -avzP /data0/www/blog/ [email protected]::blog/ --password-file=/etc/rsync.password

10. 在Master安装sersync

cd /server/tools
tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/localcd /usr/local/
mv GNU-Linux-x86/ sersyncmkdir -p bin config logs
mv confxml.xml conf/
mv sersync2 bin/sersync
/bin/cp conf/confxml.xml conf/confxml.xml$(date +%F) #备份配置文件cd conf/

11、 修改配置文件,将第24-28行内容删除掉,换成下面内容

<localpath watch="/data0/www/www">    
<remote ip="192.168.59.14" name="www"/>   
<remote ip="192.168.59.15" name="www"/>  
</localpath> 
 <!-- ################################### --> 
  <localpath watch="/data0/www/bbs">   
   <remote ip="192.168.59.14" name="bbs"/>    
   <remote ip="192.168.59.15" name="bbs"/>  
</localpath>  
<!-- ################################### -->  
<localpath watch="/data0/www/blog">   
 <remote ip="192.168.59.14" name="blog"/>   
  <remote ip="192.168.59.15" name="blog"/> 
 </localpath>
 修改38-44行,认证部分
将<auth start="false" users="root" passwordfile="/etc/rsync.pas"/>
修改为<auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
将<timeout start="false" time="100"/><!-- timeout=100 -->
修改为<timeout start="true" time="100"/><!-- timeout=100 -->
修改45行
将<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
修改为<failLog path="/usr/local/sersync/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->保存退出
wq!

12、 开启sersync守护进程同步数据

先配置sersync环境变量

echo ‘export PATH=$PATH:/usr/local/sersync/bin‘ >>/etc/profile

tail -1 /etc/profile

source /etc/profile

启动命令:

sersync -r -d -o /usr/local/sersync/conf/confxml.xml

参数:

-o:指定配置文件,如果不指定他默认是二进制下的配置文件

-d:后台运行

-r:主服务器和备服务器可能两边数据不一致,-r表示数据初始化一次,保证数据一致

启动的过程及结果

set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command paramoption: -r     
 rsync all the local files to the remote servers before the sersync work
 option: -d      run as a daemon
 option: -o      config xml name:  /usr/local/sersync/conf/confxml.xml
daemon thread num: 10
parse xml config file
host ip : localhost     host port: 8008
daemon start,sersync run behind the console 
config xml parse success
please set /etc/rsyncd.conf max connections=0 Manually
sersync working thread 12  = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads) 
Max threads numbers is: 32 = 12(Thread pool nums) + 20(Sub threads)
please according your cpu ,use -n param to adjust the cpu rate
------------------------------------------
rsync the directory recursivly to the remote servers once
working please wait...
execute command: cd /data0/www/www && rsync -artuz -R --delete ./ 192.168.59.14::www >/dev/null 2>&1

13、 切换到sersync配置文件目录下

cd /usr/local/sersync/conf

cp confxml.xml www_confxml.xml

编辑www_confxml.xml,保留www模块,删除bbs 和 blog模块

cp confxml.xml bbs_confxml.xml

编辑bbs_confxml.xml,保留bbs模块,删除www和blog模块

cp confxml.xml blog_confxml.xml

编辑blog_confxml.xml模块,保留blog模块,删除www和bbs模块

14、多实例初始化同步命令:

sersync -r -d -o /usr/local/sersync/conf/www_confxml.xml
sersync -r -d -o /usr/local/sersync/conf/bbs_confxml.xml
sersync -r -d -o /usr/local/sersync/conf/blog_confxml.xml
 
 
cat>>/etc/rc.local<<EOF
sersync -d -o /usr/local/sersync/conf/www_confxml.xml
sersync -d -o /usr/local/sersync/conf/bbs_confxml.xml
sersync -d -o /usr/local/sersync/conf/blog_confxml.xml
EOF
时间: 2024-10-07 10:48:57

sersync+rsync多实例网站数据同步的相关文章

Linux下rsync+inotify实现实时数据同步

一. rsync 1. 什么是rsync rsync 是一个远程数据同步工具, 可以实现本主机内,或跨主机的数据同步.以服务运行时监听在TCP 873端口, rsync演算法可以达到只传送文件变化的部分,而不是整个都传送,因此速度相当的快,性能不错. 所以rsync通常可以作为备份工具来使用. 1.1 rsync基本特点: 1. 可以镜像保存整个目录树或文件系统 2. 可以很容易做到保持原来文件的权限.时间.软硬链接等; (通过rsync的一些参数, 如 -a) 3. 较高的数据传输效率 4.

三、sersync+rsync实现服务器文件实时同步

一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录 二.rsync+inotify-tools与rsync+sersync架构的区别? 1.rsync+inotify-tools a.inotify只能记录下被监听的目录发生了变化(增,删,改)并没

[sersync+rsync] centos6.5 远程文件同步部署记录

针对本地文件的修改,自动同步到远程文件夹,远程备份很方面.研究了下大家的主流同步方案一般是 rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照前人经验,感谢他们的无私. 概述 我这里的目的是为了远程同步mysql的备份文件,centos6.5 同步到另一台centos主机 使用rsync+sersync做实时同步时,用于推送文件 的服务器运行sersync服务,用于接收文件的服务器则运行rsync守护进程,简单来说就是sersync会利用

rsync也可以远程数据同步

rsync简介 rsync(rem ote synchronize)是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机之间的文件.也可以使用 rsync 同步本地硬盘中的不同目录. rsync是用于替代rcp的一个工具,rsync 使用所谓的 rsync算法进行数据同步,这种算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度非常快. rsync支持大多数的类 Unix 系统,无论是 Linux.Solaris 还是 BSD上 都经过了良好的测试. CentOS系统默认就安

rsync实现Linux服务器数据同步到windows机器上

rsync实现Linux服务器上的数据同步到windows上 一.windows上安装配置cwrsyncserver软件 1.下载rsyncserver软件包,傻瓜式安装,当出现account和密码界面时,可以设置自己的用户名和密码. 2.配置rsyncd.conf文件 pid file = rsyncd.pid port = 2878 use chroot = false strict modes = false hosts allow = * log file = rsyncd.log ui

sersync + rsync 实现文件的实时同步

前面我们说过rsync + inotify 的方式来实时的同步文件 今天来记录一下一项新的东西来实现文件的实时同步 那就是sersync + rsync 实验环境: 192.168.220.99     源文件 192.168.220.98     备份文件 sersync的介绍 sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一

rsync+inotify实时数据同步

Remote Sync,远程同步 1,rsync命令用法格式:rsync [选项..] 源目录 目标目录区别:同步与复制的差异复制:完全拷贝源到目标同步:增量拷贝,只传输变化过的数据 2,本地同步rsync [选项..] 本地目录1 本地目录2 #把目录1同步到目录2下rsync [选项..] 本地目录1/ 本地目录2 #把目录1下的数据同步到目录2下-a :归档模式,相当于-rlptgoD-v :显示详细信息-z :传输过程中启用压缩/解压-n :测试同步过程,不做实际修改 #与-avz连用-

sersync+rsync原理及部署

一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录 二.rsync+inotify-tools与rsync+sersync架构的区别? 1.rsync+inotify-tools a.inotify只能记录下被监听的目录发生了变化(增,删,改)并没

Linux系统实时数据同步inotify+rsync

一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Linux内核版本必须是大于2.6.13,在这之前的内核都没有这个功能.我们可以利用inotify去监控我们要监控的资源,当资源发生变化时,我们扑捉它的事件,从而触发同步数据等操作. 二.inotify软件介绍 inotify是内核的一个功能,众所周知内核的功能我们必须要配合工具才能使用,通常情况下用户