![Sersync使用指南 <wbr> <wbr>sersync2 <wbr>完全安装配置说明(一) <wbr>基本功能使用 Sersync使用指南 <wbr> <wbr>sersync2 <wbr>完全安装配置说明(一) <wbr>基本功能使用](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
目的:
要把同步服务器中的目录/opt/tongbu1实时同步到三个同步目标主服务器中的/opt/tongbu1目录中。以做到文件的实时备份!
如上图所示,需要在同步主服务器上配置sersync,在同步目标服务器配置rsync,并在目标服务器开启rsync守候进程,这样在主服务器产生的文 件,就会被sersync实时同步到多个目标服务器。在CentOS系统下默认已经安装了rsync,只需进行配置,并开启rsync守候进程即可。
配置同步目标服务器rsync
在多台目标服务器上配置如下(11、12、13都是同样的配置):
================================
vi /etc/rsyncd.conf
uid=root
gid=root
max connections=36000
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
[tongbu1]
path=/opt/tongbu1
comment = xoyo video files
ignore errors = yes
read only = no
hosts allow = 192.168.1.10/24
hosts deny = *
================================
上面配置文件,表明允许主服务器(假设ip为192.168.1.10)访问,rsync同步模块名为[tongbu1],将同步过来的文件放入path指定的目录/opt/tongbu1。如果有多台从服务器,则每一台都需要进行类似的rsync配置,上面的uid gid要换成您服务器的相应用户,主意rysnc要有对被同步目录的操作权限。
配置好之后,使用如下命令,开启rsync守护进程:
#rsync --daemon
在google code下载sersync的可执行文件版本,里面有配置文件与可执行文件,这里用sersync2.5进行说明,新版本配置形式类似。
1.在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步。
./sersync -d
过程如下:
=================================
[root@localhost GNU-Linux-x86]#ls
confxml.xml sersync2
修改同步主服务器的配置文件:
#vi confxml.xml
只修改下面内容即可:
<</span>sersync>
<</span>localpathwatch="/opt/tongbu1">
<</span>remoteip="192.168.1.11"name="tongbu1"/>
<</span>remoteip="192.168.1.12"name="tongbu1"/>
<</span>remoteip="192.168.1.13"name="tongbu1"/>
</</span>localpath>
<</span>crontabstart="true"schedule="30"/>
<</span>pluginname="refreshCDN"start="true"/>
</</span>sersync>
[root@localhost GNU-Linux-x86]# ./sersync2 -d
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
daemon thread num: 10
parse xml config file
host ip : localhost host port: 8008
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)
please according your cpu ,use -n param to adjust the cpu rate
run the sersync:
watch path is: /opt/tongbu
表明,sersync已经开启,可以在本地监控路径下建立文件,查看远程是否同步成功。
=================================
2.在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步
[root@localhost GNU-Linux-x86]#./sersync -r
如果需要将sersync运行前,已经存在的所有文件或目录全部同步到远程,要以-r参数运行sersync,将本地与远程整体同步一次。
如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将会无效。
3.查看启动参数帮助
./sersync --help
4.指定配置文件
./sersync -o XXXX.xml
对于sersync使用可执行文件目录下的默认配置文件confxml.xml,如果需要使用另一个配置文件,可以使用-o参数指定其它配置文件。
5.指定默认的线程池的线程总数
./sersync -n num
6.不进行同步,只运行插件
./sersync -m pluginName
例如./sersync -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接运行command插件。
7.多个参数可以配合使用
./sersync -n 8 -o abc.xml -r -d
表示,设置线程池工作线程为8个,指定abc.xml作为配置文件,在实时监控前作一次整体同步,以守护进程方式在后台运行。
8.通常情况下,对本地到远程整体同步一遍后,在后台运行实时同步。
./sersync -d
=======================================
在另一篇文章中看到的相关命令:
一、运行
1、执行命令:./sersync2 -r -d 启动sersync
r是先执行一遍完整同步,d是后台运行,稍后介绍所有启动参数。
2、加入sersync开机自动启动,老办法:/etc/rc.local,或者写一个service脚本加入chkconfig
要注意的是:sersync调用rsync执行任务,所以他依赖系统的PATH变量来找到rsync命令,而在linux中,初始化的PATH变量是不含有/usr/local/bin目录的(很不幸,如果你升级了rsync的话,他会默认装到这个目录),所以,你需要在/usr/bin/中给rsync创建一个link,符号的就可以:
cd /usr/bin
ln -s /usr/local/bin/rsync rsync
还有一个要注意的地方是:如果你的服务器网卡需要与交换机进行端口协商,不是立即接通,那么,最好在sersync启动以前,sleep一会儿,比如十秒,否则,rsync会因为找不到同步目的方而不工作。
二、附录:启动参数举例
1、/usr/local/sersync/sersync2 -r -d -o /usr/local/sersync/config.xml
#通常情况下使用这种方式,对本地到远程整体同步一遍后,在后台运行实时同步。
2、/usr/local/sersync/sersync2 -d -o /usr/local/sersync/config.xml
#在主服务器上开启sersync守护进程,使sersync在后台运行,开启实时同步。
3、/usr/local/sersync/sersync2 -r -o /usr/local/sersync/config.xml
#在开启实时监控的之前对主服务器目录与远程目标机目录进行一次整体同步
(如果设置了过滤器,即在xml文件中,filter为true,则暂时不能使用-r参数进行整体同步。-r参数将会无效)
4、/usr/local/sersync/sersync2 -n 5 -d -o /usr/local/sersync/config.xml
#指定默认的线程池的线程总数,如果不指定,默认启动线程池数量是10(适用于四核服务器)
#如果cpu使用过高,可以通过这个参数调低,如果机器配置较高,可以用-n跳高线程总数。
也可以不进行同步,只运行插件:./sersync -m pluginName
例如./sersync -m command,则在监控到文件事件后,不对远程目标服务器进行同步,而是直接运行command插件。
多个参数可以配合使用
./sersync -n 8 -o abc.xml -r -d
表示,设置线程池工作线程为8个,指定abc.xml作为配置文件,在实时监控前作一次整体同步,以守护进程方式在后台运行。
修改可监控的最大目录数量:
echo 50000000 > /proc/sys/fs/inotify/max_user_watches