sersync实时同步

sersync的功能:

1.支持配置文件管理

2.真正的守护进程socket

3.可以对失败文件定时重传(定时任务功能)

4.第三方的HTTP接口(例:更新cdn缓存)

5.默认多线程rsync同步

优点:

1.使用C++编写,对linux系统文件产生的临时文件和重复的文件操作会进行过滤,在结合rsync同步的时候,会减少运行时消耗的本地及网络资源,因此速度更快。

2.相比其他项目,sersync配置起来简单

3.使用多线程同步(即可以并发同步多个不同文件),尤其在同步较大文件时,能够保证多个服务器实时保持同步状态

4.Sersync自带出错处理机制,通过失败队列对出错的文件重新同步,如果仍旧失败,则每10个小时对同步失败的文件再重新同步

5.Sersync自带crontab功能,只需在xml配置文件中开启,即可按预先的配置,隔一段时间整体同步一次

6.Sersync自带socket与http的协议扩展,可以满足有特殊需求的公司二次开发。

缺点:

sersync有重传机制(内置的定时任务),但是只重传一次,如果重传失败就会清空重传队列,即清空/tmp/rsync_fail_log.sh文件。这样就会造成sersync服务恢复正常后(即可以同步文件),数据同步的两个服务器数据不一致的现象。因为,/tmp/rsync_fail_log.sh文件为空,而sersync只对发生变化的文件做实时同步(ps:sersync默认每隔十个小时做一次完整的数据同步)。

架构图:

两台linux服务器

192.168.157.10  sersync

192.168.157.20  rsync

注意要先关闭防火墙和selinux

systemctl stop firewalld

setenforce 0

先检查系统环境(内核要最低2.6):

uname -r

升级rsync到3.0版本:

rsync --version|head -2

rsync端:

vim /etc/rsyncd.conf

#Rsync server

uid = root

gid = root

use chroot = no                         # 安全相关

max connections = 2000                  # 并发连接数

timeout = 600                           # 超时时间(秒)

pid file =/var/run/rsyncd.pid           # 指定rsync的pid目录

lock file =/var/run/rsync.lock          # 指定rsync的锁文件【重要】

log file = /var/log/rsyncd.log          # 指定rsync的日志目录

ignore errors

read only = false

list = false

hosts allow = 192.168.157.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file =/etc/rsync.password

#################################################

[www]                                   # 模块

comment = www

path = /data/www/

#################################################

[bbs]

comment = bbs

path = /data/bbs/

#################################################

[blog]

comment = blog

path = /data/blog/

#rsync_config____________end

创建rsync用户并设置密码(我这里设置的是123456):

useradd  rsync_backup

passwd rsync_backup

创建rsync同步密码文件,并且权限设置为600:

echo "rsync_backup:123456" > /etc/rsync.password

chmod 600 /etc/rsync.password

启动守护进程并写入开机自启动

rsync --daemon

ss -anpt | grep rsync

vim /etc/rc.local

/usr/bin/rsync –damon

创建相关同步的目录:

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

查看创建目录的结构:

Tree

Sersync端:

配置rsync的密码文件:

echo “123456” > /etc/rsync.password

chmod 600 /etc/rsync.password

创建同步数据的目录:

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

touch /data/www/www.log /data/bbs/bbs.log /data/blog/blog.log

查看结构:

tree /data/

手动测试看是否可以传文件:

rsync -avzP /data/www/ rsync_backup@192.168.157.20::www/ --password-file=/etc/rsync.password

传送完可以在rsync端查看同步的文件:

Tree /data

部署sersync:

创建软件目录:

mkdir -p /applition/tools
cd /applition/tools

下载软件包:

wget https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz
可能也会下载不了,需要自行准备,如果需要可以私信我,也可以使用windows的下载工具。

 
解压压缩包:
tar fxz sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
cd /usr/local
mv GNU-Linux-x86 sersync
配置sersync:
先将配置文件备份:
cp sersync/confxml.xml  sersync/confxml.xml.$(date +%F)
优化sersync配置文件:
修改前(第一部分):
 

修改后:

修改前(第二部分):

修改后:

修改前(第三部分):

修改后:

开启sersync守护进程同步数据:

配置环境变量:

echo "PATH=$PATH:/usr/local/sersync/">>/etc/profile
source /etc/profile
启动命令:
sersync2 -d -r -o /usr/local/sersync/confxml.xml
 

 验证:

在sersync端:

touch /data/www/a.txt

在rsync端:

看是否可以看到创建的文件

tree /data

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值