说明:
192.168.1.2 (sersync+rsync)---------------FTP
192.168.1.3 (rsync)--------------------------backup
实验目的:
实时自动同步:192.168.1.2 ------->192.168.1.3到目录:/data/ftpdata ;
一、FTP服务器(sersync+rsync)
1、准备软件包
[root@ftp ~]# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
[root@ftp ~]# wget http://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz
2、安装sersync
[root@ftp ~]# mkdir /data/ftpdata
[root@ftp ~]# tar -zxvf sersync2.5_64bit_binary_stable_final.tar.gz -C /usr/bin/
[root@ftp ~]# cd /usr/bin/GNU-Linux-x86/
[root@ftp GNU-Linux-x86]# cp confxml.xml confxml.xml.bak
[root@ftp GNU-Linux-x86]# ls
confxml.xml #主配置文件
confxml.xml.bak
sersync2 #主程序二进制文件
编辑confxml.xml配置文件:
[root@ftp GNU-Linux-x86]# vim confxml.xml
<sersync>
<localpath watch="/data/ftpdata"> #监控的目录
<remote ip="192.168.1.3" name="ftpdata"/> #backup端IP,ftpdata为客户端rsync模块名
<!--<remoteip="192.168.8.39" name="tongbu"/>-->
<!--<remoteip="192.168.8.40" name="tongbu"/>-->
</localpath>
:wq
3、安装Rsync
[root@ftp ~]# tar -zxvf rsync-3.0.9.tar.gz
[root@ftp ~]# cd rsync-3.0.9
[root@ftp rsync-3.0.9]# ./configure --prefix=/usr/local/rsync
[root@ftp rsync-3.0.9]# make;make install
防火墙开启rsync端口:873
[root@ftp ~]# vim /etc/sysconfig/iptables/
添加:
-A INPUT -m state --state NEW -m tcp -p tcp--dport 873 -jACCEPT
重启:
[root@ftp ~]# /etc/init.d/iptables restart
二、备份服务器(rsync)
1、准备工作
创建备份目录:
[root@backup ~]# mkdir /data/ftpdata
2、准备软件包
[root@backup ~]# wgethttp://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
3、安装rsync(备份服务器只安装rsync)
[root@backup ~]# tar -zxvf rsync-3.0.9.tar.gz
[root@backup ~]# cd rsync-3.0.9
[root@backup rsync-3.0.9]# ./configure --prefix=/usr/local/rsync
[root@backup rsync-3.0.9]# make;make install
4、建立rsync配置文件
[root@backup ~]# vim /etc/rsyncd.conf
uid=root
gid=root
maxconnections=36000
usechroot=no
logfile=/var/log/rsyncd.log
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsyncd.lock
[ftpdata]
path=/data/ftpdata
comment =ftp files
ignoreerrors = yes
read only= no
hostsallow = 192.168..1.0/24
hostsdeny = *
:wq
启动rsync服务
[root@backup ~]# rsync --daemon
rsync启动加到启动项里
[root@backup ~]# echo "rsync--daemon" >> /etc/rc.local
[root@backup ~]# ps -ef |grep rsync
root525010 19:24 ?00:00:00 rsync --daemon
防火墙开启rsync端口:873
[root@backup ~]# vim /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp--dport 873 -jACCEPT
重启:
[root@backup ~]# /etc/init.d/iptablesrestart
三、启动sersync服务
在FTP服务器(sersync+rsync)上开启sersync守护进程,使sersync在后台运行,开启实时同步。
[root@ftp GNU-Linux-x86]# ./sersync2 -d -r
set thesystem param
execute:echo50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679> /proc/sys/fs/inotify/max_queued_events
parse thecommand param
option:-drun as a daemon
option:-rrsync all the local files to theremote servers before the sersync work
daemonthread num: 10
parse xmlconfig file
host ip :localhosthost port: 8008
daemonstart,sersync run behind the console
config xmlparse success
pleaseset /etc/rsyncd.conf max connections=0 Manually
sersyncworking thread 12= 1(primary thread) +1(fail retry thread) + 10(daemon sub threads)
Maxthreads numbers is: 22 = 12(Thread pool nums) + 10(Sub threads)
pleaseaccording your cpu ,use -n param to adjust the cpu rate
------------------------------------------
rsync thedirectory recursivly to the remote servers once
workingplease wait...
executecommand: cd /data/ftpdata && rsync -artuz -R --delete ./ 192.168.1.3::ftpdata>/dev/null 2>&1
run thesersync:
watchpath is: /data/ftpdata
*表明,sersync已经开启,可以在本地监控路径建立文件,查看远程是否同步成功!
[root@ftp GNU-Linux-x86]# ps -ef |grep rsync
root137710 18:48 ?00:00:00 ./sersync2 -d –r
最后需要把sersync命令加入到/etc/rc.local以开机自启动
[root@ftp GNU-Linux-x86]# echo "cd/usr/bin/GNU-Linux-x86&&./sersync2 -d -r" >> /etc/rc.local
四、测试验证
1、在ftp端/data/ftpdata目录上创建一个文件夹:
[root@ftp ftpdata]# mkdir zl
2、在backup端查看/data/ftpdata目录是否相同;
[root@backup ~]# ll /data/ftpdata/
五、备份与恢复
1、手动备份
192.168.1.2---------->192.168.1.3
[root@ftp~]# /usr/bin/rsync -vzrtopg --delete /data/ftpdata/ root@192.168.1.3::ftpdata
2、手动恢复
192.168.1.3---------->192.168.1.2
[root@ftp~]# /usr/bin/rsync -vzrtopg --delete root@192.168.1.3::ftpdata/data/ftpdata/