sersync 实验笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sersync 实验笔记相关的知识,希望对你有一定的参考价值。
图是从网络找的。
在s1和s2 (客户端)开启rsync守护进程服务。rsync服务
rsync的配置文件在/etc/rsync.conf
[[email protected]_RS2_6_61 dmall]# cat > /etc/rsyncd.conf <<EOF
#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 = 10.12.0.0/16 #允许这列客户端访问我的rsync服务
hosts deny = 0.0.0.0/32 #拒绝这些客户端访问我的rsync服务
auth users = rsync_backup #认证用的用户 虚拟的
secrets file = /etc/rsync.password #密码文件
#################################################
[www] # 模块
comment = www
path = /data0/www/www/
#################################################
[bbs]
comment = bbs
path = /data0/www/bbs/
#################################################
[blog]
comment = blog
path = /data0/www/blog/
#rsync_config____end
EOF
开始配置服务器,先配置两台客户端服务器10.12.7.111和10.12.7.112(数据自动同步到这两台服务器,就示例一台服务器的配置即可)
第一步
[[email protected] ~]# cat /etc/rsync.password 配置密码文件
rsync_backup:old-boy123
第二步
[[email protected] ~]# cat /etc/rsyncd.conf rsync的配置文件
#Rsync server
uid = root
gid = root
use chroot = no
ns = 2000
timeout= 600
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.12.0.0/16
hosts deny = 0.0.0.0/32
auth users = rsync_backup 用户名要与密码文件里面的一致
secrets file = /etc/rsync.password 目录要与密码文件的路径一致
#################################################
[www]
comment = www
path = /data0/www/www/
#################################################
[bbs]
comment = bbs
path = /data0/www/bbs/
#################################################
[blog]
comment = blog
path = /data0/www/blog/
#rsync_config____end
第三步
[[email protected] ~]# mkdir -p /data0/www/bbs /data0/www/www /data0/www/blog 创建要同步数据的目录
第四步
[[email protected] ~]# rsync --daemon 配置进程守护,启动rsync
[[email protected] ~]# ps -ef |grep rsync 查看rsync是否启动
root 1335 1 0 Mar20 ? 00:00:00 rsync --daemon
root 2182 2145 0 20:24 pts/0 00:00:00 grep rsync
[[email protected] ~]#
第五步
[[email protected] ~]# tail -n 2 /etc/rc.local 配置rsync的开机自启动。
#kai ji zi qi dong rsync by root 20180320
/usr/local/bin/rsync --daemon
[[email protected] ~]#
以上,被自动同步数据段服务器配置完成。
****sersync服务器端配置(10.12.7.113),数据变化端Master,数据自动同步到其它服务器。****
第一步
[[email protected] ~]# cat /etc/rsync.password 配置密码验证文件。
old-boy123
[[email protected] ~]# ll /etc/rsync.password 密码文件的权限设置成600
-rw-------. 1 root root 11 Mar 20 15:55 /etc/rsync.password
[[email protected] ~]#mkdir -p /data0/www/bbs /data0/www/www /data0/www/blog 创建要同步数据目录
第二步 验证以上rsync是否可通。(服务器的防火墙都关闭)
[[email protected] ~]# rsync -avzP /data0/www/www [email protected]::www/ --password-file=/etc/rsync.password 验证是否可把数据同步到远端服务,若不可以请检查配置。
第三步, 配置sersync服务器10.12.7.113
下载sersync服务软件。
[[email protected] tools]# wget http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz 下载sersync服务软件。
[[email protected]ffice-test-007113 tools]# tar -zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local 软件解压到指定目录
[[email protected] tools]# cd /usr/local/
[[email protected] local]# mv GNU-Linux-x86 sersync 把解压出来的文件更改一个文件名字。
[[email protected] local# cd sersync
[[email protected] sersync]# mkdir bin conf log 配置标准目录
[[email protected] sersync]# mv confxml.xml conf 把配置文件放到conf目录
[[email protected]07113 sersync]# mv sersync2 bin/sersync 把sersync2放到bin目录下,并改名为sersync
[[email protected] sersync]# ll 新的目录结构
total 1784
drwxr-xr-x. 2 root root 4096 Mar 22 20:12 bin
drwxr-xr-x. 2 root root 4096 Mar 22 20:11 conf
-rwxr-xr-x. 1 root root 2214 Mar 22 14:01 confxml.xml.bak
drwxr-xr-x. 2 root root 4096 Mar 22 20:06 log
-rwxr-xr-x. 1 root root 1810128 Mar 22 14:01 sersync2.bak
[[email protected] sersync]# ll bin/ 新的目录结构
total 1768
-rwxr-xr-x. 1 root root 1810128 Oct 26 2011 sersync
[[email protected] sersync]# ll conf 新的目录结构
total 4
-rwxr-xr-x. 1 root root 2229 Mar 22 20:07 confxml.xml
[[email protected] sersync]# ll log 新的目录结构
total 0
[[email protected] sersync]#
第四步 修改sersync服务器的配置文件
[[email protected] sersync]# cd conf
[[email protected] conf]# cat confxml.xml -nu 查看配置文件的内容,红色行为修改行。
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <head version="2.5">
3 <host hostip="localhost" port="8008"></host>
4 <debug start="false"/>
5 <fileSystem xfs="false"/>
6 <filter start="false">
7 <exclude expression="(.).svn"></exclude>
8 <exclude expression="(.).gz"></exclude>
9 <exclude expression="^info/"></exclude>
10 <exclude expression="^static/"></exclude>
11 </filter>
12 <inotify>
13 <delete start="true"/>
14 <createFolder start="true"/>
15 <createFile start="false"/>
16 <closeWrite start="true"/>
17 <moveFrom start="true"/>
18 <moveTo start="true"/>
19 <attrib start="false"/>
20 <modify start="false"/>
21 </inotify>
22
23 <sersync>
24 <!--###################################-->
25 <localpath watch="/data0/www/www">
26 <remote ip="10.12.7.111" name="www"/>
27 <remote ip="10.12.7.112" name="www"/>
28 </localpath>
29 <rsync>
30 <commonParams params="-artuz"/>
31 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
32 <userDefinedPort start="false" port="874"/><!-- port=874 -->
33 <timeout start="true" time="100"/><!-- timeout=100 -->
34 <ssh start="false"/>
35 </rsync>
36 <failLog path="/usr/local/sersync/log/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
37 <crontab start="false" schedule="600"><!--600mins-->
38 <crontabfilter start="false">
39 <exclude expression=".php"></exclude>
40 <exclude expression="info/"></exclude>
41 </crontabfilter>
42 </crontab>
43 <plugin start="false" name="command"/>
44 </sersync>
45
46 <plugin name="command">
47 <param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
48 <filter start="false">
49 <include expression="(.).php"/>
50 <include expression="(.).sh"/>
51 </filter>
52 </plugin>
53
54 <plugin name="socket">
55 <localpath watch="/opt/tongbu">
56 <deshost ip="192.168.138.20" port="8009"/>
57 </localpath>
58 </plugin>
59 <plugin name="refreshCDN">
60 <localpath watch="/data0/htdocs/cms.xoyo.com/site/">
61 <cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
62 <sendurl base="http://pic.xoyo.com/cms"/>
63 <regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
64 </localpath>
65 </plugin>
66 </head>
[[email protected] conf]#
第五步配置sersync的命令全局变量
[[email protected] sersync]# echo ‘export PATH=$PATH:/usr/local/sersync/bin‘>>/etc/profile
[[email protected] sersync]# tail -1 /etc/profile
export PATH=$PATH:/usr/local/sersync/bin
[[email protected] sersync]# source /etc/profile
[[email protected] sersync]# which sersync
/usr/local/sersync/bin/sersync
[[email protected] sersync]#
第六步,启动sersync 此时已经完成一个目的的数据同步。
[[email protected] sersync]# sersync -r -d -o /usr/local/sersync/conf/confxml.xml 启动sersync,后面接配置文件
第七步 做三个目录的数据同步,生成三份配置文件。
[[email protected] conf]# ll
total 4
-rwxr-xr-x. 1 root root 2229 Mar 22 20:07 confxml.xml
[[email protected] conf]# cp confxml.xml www_confxml.xml 把对应的文件目录和日志名字修改即可。
[[email protected] conf]# cp confxml.xml bbs_confxml.xml
[[email protected] conf]# cp confxml.xml blog_confxml.xml
-r是把数据重新同步一遍,-d守护进行 -o是指定启动配置文件。
[[email protected] conf]# sersync -r -d -o /usr/local/sersync/conf/bbs_confxml.xml 启动三个配置文件,三个目录即可实现自动同步
[[email protected] conf]# sersync -r -d -o /usr/local/sersync/conf/www_confxml.xml
[[email protected] conf]# sersync -r -d -o /usr/local/sersync/conf/blog_confxml.xml
[[email protected] conf]# ll /usr/local/sersync/log/ 查看数据同步的log文件
total 12
-rwxrwxrwx. 1 root root 155 Mar 22 21:10 bbs_rsync_fail_log.sh
-rwxrwxrwx. 1 root root 316 Mar 22 21:10 blog_rsync_fail_log.sh
-rwxrwxrwx. 1 root root 308 Mar 22 21:10 www_rsync_fail_log.sh
[[email protected] conf]#
以上是关于sersync 实验笔记的主要内容,如果未能解决你的问题,请参考以下文章
centos7服务搭建常用服务配置之二:Rsync+sersync实现数据实时同步
20170705L07-09-03老男孩linux运维实战培训-Sersync实时同步软件实战应用指南-2