sersync实时同步

主要内容:

1.Sersync是什么

2.准备环境

3.Sersync的使用

4.Sersync的配置

一、Sersync是什么

实时同步:sersync/inotify
sersync:整合inotify和rsync命令
监控文件/目录是否有变化(增删改)

二、准备环境

web01
nfs01
backup

三、sersync的使用

1.准备rsync服务(nfs01)

(1)sersync 利用到了rsync的守护进程模式
(2)backup上面的共享目录为 /nfsbackup

2.准备好sersync

(1)上传 解压 加权限(sersync-master.zip在https://github.com/wsgzao/sersync下载)

[root@nfs01 GNU-Linux-x86]# tree
.
├── confxml.xml
└── sersync2

0 directories, 2 files

mv sersync2 sersync

如果要监控多个目录,比如data , data01,可以复制一份confxml.xml,修改名称为confxml_01.xml

#backup文件所属组所有者无所谓
[root@nfs01 backup]# ll -d /backup/
drwxr-xr-x. 2 root root 78 Jul 18 01:59 /backup/

[root@nfs01 backup]# cat /etc/rsync.passwd
oldboy123
[root@nfs01 backup]# ll -d /etc/rsync.passwd 
-rw-------. 1 root root 23 Jun  8 02:33 /etc/rsync.passwd
3.配置confxml.xml
sersync .png
<sersync>
        <localpath watch="/data">
            <remote ip="10.0.0.41" name="backup_all"/>
            <!--<remote ip="192.168.8.39" name="tongbu"/>-->
            <!--<remote ip="192.168.8.40" name="tongbu"/>-->
        </localpath>
        <rsync>
            <commonParams params="-az"/>
            <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
            <userDefinedPort start="false" port="874"/><!-- port=874 -->
            <timeout start="false" time="100"/><!-- timeout=100 -->
            <ssh start="false"/>
        </rsync>
        <failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
        <crontab start="false" schedule="600"><!--600mins-->
            <crontabfilter start="false">
                <exclude expression="*.php"></exclude>
                <exclude expression="info/*"></exclude>
            </crontabfilter>
        </crontab>
        <plugin start="false" name="command"/>
    </sersync>

3.启动实时同步服务

chmod +x /usr/local/sersync/GNU-Linux-x86/sersync
serync -dro /user/local/sersync/conf/confxml.xml

[root@nfs01 GNU-Linux-x86]#  /usr/local/sersync/GNU-Linux-x86/sersync -h
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 param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
c参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
________________________________________________________________

为了以后方便操作,可以加环境变量

export PATH=$PATH:/usr/local/sersync/GNU-Linux-x86/

以后可以直接使用sersync

[root@nfs01 backup]# sersync -dro /usr/local/sersync/GNU-Linux-x86/confxml.xml 
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 param
option: -d  run as a daemon
option: -r  rsync all the local files to the remote servers before the sersync work
option: -o  config xml name:  /usr/local/sersync/GNU-Linux-x86/confxml.xml
daemon thread num: 10
parse xml config file
host ip : localhost host port: 8008
daemon start,sersync run behind the console 
use rsync password-file :
user is rsync_backup
passwordfile is     /etc/rsync.password
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: 22 = 12(Thread pool nums) + 10(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 /backup && rsync -az -R --delete ./ rsync_backup@10.0.0.41::backup_all --password-file=/etc/rsync.password >/dev/null 2>&1 
[root@nfs01 backup]# run the sersync: 
watch path is: /backup
4.backup服务器

1.安装rsync

[root@backup ~]# yum -y install rsync

2.配置文件

[root@backup backup]# cat /etc/rsyncd.conf 
uid = rsync                         
gid = rsync
#uid = www
#gid = www
port = 873                           
fake super = yes                                     
use chroot = no                      
max connections = 200                
timeout = 300                           
pid file = /var/run/rsyncd.pid       
lock file = /var/run/rsync.lock      
log file = /var/log/rsyncd.log       
ignore errors                        
read only = false                    
list = false                         
hosts allow = 10.0.0.31          
#hosts deny = 0.0.0.0/32              
auth users = rsync_backup            
secrets file = /etc/rsync.password   
[backup_all]                             
#comment = "backup dir"    
path = /backup/

3.密码文件(配置和权限600)

[root@backup backup]# cat /etc/rsync.password 
rsync_backup:oldboy123
[root@backup backup]# ll -d /etc/rsync.password 
-rw-------. 1 root root 23 Jun  8 02:33 /etc/rsync.password

#backup文件所属组,所有者变为rsync
[root@backup backup]# ll -d /backup/
drwxr-xr-x. 2 rsync rsync 78 Jul 18 01:59 /backup/

4.启动rsyncd并设置开机自启动

[root@backup backup]# systemctl start rsyncd
[root@backup backup]# systemctl enable rsyncd
[root@backup backup]# systemctl status rsyncd
● rsyncd.service - fast remote file copy program daemon
   Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-07-18 01:09:10 CST; 56min ago
 Main PID: 6453 (rsync)
   CGroup: /system.slice/rsyncd.service
           └─6453 /usr/bin/rsync --daemon --no-detach

Jul 18 01:09:10 backup systemd[1]: Started fast remote file copy program daemon.
5.测试

在nfs01服务器上/backup目录下创建a.log文件,backup服务器中的/backup目录已经同步过去

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,639评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,093评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,079评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,329评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,343评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,047评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,645评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,565评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,201评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,338评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,014评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,701评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,194评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,685评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,345评论 2 358

推荐阅读更多精彩内容