sersync2+rsync目录文件实时同步备份

简介:

 

 

说明:

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"/>    #backupIPftpdata为客户端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

executeecho50000000 > /proc/sys/fs/inotify/max_user_watches

executeecho 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

daemonstartsersync 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/




本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/1221875,如需转载请自行联系原作者

相关文章
|
监控 安全 Shell
使用 inotify 和 rsync 实现文件实时同步
使用 inotify 和 rsync 实现文件实时同步
308 1
|
存储 监控 安全
|
监控 数据安全/隐私保护 Linux
rsync+Inotifywait实现文件实时同步
rsync+Inotifywait实现实时同步 背景: 某客户想实现实现异地灾备,想达到的是A机房出现断电的时候。数据能实时的将数据同步到B上,并且域名切换到B之后能提供业务 。使用rsync+inotify做web数据和ftp(ftp主要是用户上传的图片文件)的数据实时同步. 一:软件介绍: rsyncrsync是一个开源的快速备份工具,可以再不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,再传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
2203 0
|
监控 Linux 数据安全/隐私保护
rsync+sersync实现服务器文件同步
集群件服务器或者是多台服务器之间有数据同步需求的时候,要使多台服务器之间的数据快速同步,使用手动拷贝或者scp这样的命令是不太明智的,rsync+sersync组合工具可以解决这一痛点,快速的同步更新数据文件,减轻运维人员的工作压力。
4547 0
|
数据安全/隐私保护 网络安全 Shell
|
Linux 网络安全