[sersync+rsync] centos6.5 远程文件同步部署记录
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[sersync+rsync] centos6.5 远程文件同步部署记录,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6366字,纯文字阅读大概需要10分钟。
内容图文
![[sersync+rsync] centos6.5 远程文件同步部署记录](/upload/InfoBanner/zyjiaocheng/1150/7b7aa9c462ea4987bb15ce5199d75872.jpg)
针对本地文件的修改,自动同步到远程文件夹,远程备份很方面。研究了下大家的主流同步方案一般是
rsync+inotify和rsync+sersync, 我这里使用sersync的方案,当然大部分都是参照前人经验,感谢他们的无私。
概述
我这里的目的是为了远程同步mysql的备份文件,centos6.5 同步到另一台centos主机
使用rsync+sersync做实时同步时,用于推送文件 的服务器运行sersync服务,用于接收文件的服务器则运行rsync守护进程,简单来说就是sersync会利用rsync命令将文件推送到 rsync服务器,实际线上使用一般会把sersync作为主服务器,rsync作为镜像服务器,实现数据同步备份,web镜像等功能
所以两台机器都需要rsync, 然后有对应的写数据权限。
准备
- 操作系统 centos6.5 x86
- rsync yum源
- sersync2.5_64bit
- 推送源A 114.110.1.38 (ip均为实验伪造)
- 接收机B 114.110.1.37
把A机器上的一个目录下文件的变化同步到B机器上,两边文件保持一致。
接收机B selinux
与iptables
自行设置好,rsync的端口两边要配置一致,默认是873
操作
接收机
1、 查看rsync是否安装
[root@i-nzwxivja xjmysql]# rpm -aq|grep rsync
rsync-3.0.6-4.el5_7.1
如果没有安装 yum install -y rsync
就行了
2、 rsync配置
[root@i-nzwxivja xjmysql]# cat /etc/rsyncd.conf
uid = root
gid = root
usechroot =no
list = nolog file = /var/log/rsyncd.log
[rsyncmysql]
path=/data/backup/xjmysql
comment=rsyncmysql
ignore errors
read only=no
list=no
max connections=200
timeout=600
auth users=rsync
secrets file=/etc/rsync.pas
hosts allow=*
#host deny=0.0.0.0/0
-
secrets file
这个是配置同步的密码文件的。 -
[rsynctest]
这个是配置同步模块的名称,后面会用 -
path
是配置同步的目录 -
hosts allow
是允许同步的主机 这里是测试就没有限制 -
hosts deny
拒绝同步的主机
3、 创建同步的用户与密码的文件,即上图中的secrets file这个配置选项中的文件。/etc/rsync.passwd,同进要设置这个文件的权限为600
# echo "rsync:123456lzz" >> /etc/rsync.pas
# chmod 600 /etc/rsync.pas
4、 创建同步的目录:即上图中path配置选项中的目录
# mkdir /data/backup/xjmysql
5、 启动rsync
#
rsync
-
-
daemon
-
-
config=/etc/rsyncd
.
conf
#
ps
-
ef|grep
rsync
root
17521
1
0
16:39
?
00:00:00
rsync
-
-
daemon
-
-
config=/etc/rsyncd
.
conf
root
17529
16947
0
16:39
pts/1
00:00:00
grep
rsync
接着重启一下xinetd使得配置生效
# /etc/init.d/xinetd restart
这里是通过 xinetd
服务来重启rsync,也可以不用这种方式,如果没有可以用yum直接安装
6、 配置开机启动
#
echo
"rsync
-
-
daemon
-
-
config=/etc/rsyncd
.
conf" >> /etc/rc.d/rc.local
推送源
1、 先到sersync 官网的地址已经不能使用了,我从网上找了一份放到其他地址, github上的源码镜像
我把二进制包下载也放到了上面
# wget --no-check-certificate https://raw.githubusercontent.com/orangle/sersync/master/release/sersync2.5.4_64bit_binary_stable_final.tar.gz
# mkdir /usr/local/sersync
# mkdir /usr/local/sersync/conf
# mkdir /usr/local/sersync/bin
# mkdir /usr/local/sersync/log
# tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz
# cd GNU-Linux-x86/
# cp confxml.xml /usr/local/sersync/conf
# cp sersync2 /usr/local/sersync/bin
2、 创建密码文件,同B服务器一样,不过这个文件只要保存一个密码就行了,不用用户名,权限也是600
echo "123456lzz" >> /etc/rsync.pas
chmod 600 /etc/rsync.pas
3、 配置sersync,配置文件就是上第二步复制的confxml.xml这个文中,路径在/usr/local/sersync/conf中
<?xml version="1.0" encoding="ISO-8859-1"?>
<headversion="2.5">
# 设置本地IP和端口
<hosthostip="localhost"port="8008"></host>
# 开启DUBUG模式
<debugstart="false"/>
# 开启xfs文件系统
<fileSystemxfs="false"/>
# 同步时忽略推送的文件(正则表达式),默认关闭
<filterstart="false"><excludeexpression="(.*)\.svn"></exclude><excludeexpression="(.*)\.gz"></exclude><excludeexpression="^info/*"></exclude><excludeexpression="^static/*"></exclude></filter><inotify>
# 设置要监控的事件
<deletestart="true"/><createFolderstart="true"/><createFilestart="true"/><closeWritestart="true"/><moveFromstart="true"/><moveTostart="true"/><attribstart="true"/><modifystart="true"/></inotify><sersync>
# 本地同步的目录路径
<localpathwatch="/home/data">
# 远程IP和rsync模块名
<remoteip="114.110.1.37"name="rsyncmysql"/><!--<remote ip="192.168.8.39" name="tongbu"/>--><!--<remote ip="192.168.8.40" name="tongbu"/>--></localpath><rsync>
# rsync指令参数
<commonParamsparams="-auvzP"/>
# rsync同步认证
<authstart="true"users="rsync"passwordfile="/etc/rsync.pas"/>
# 设置rsync远程服务端口,远程非默认端口则需打开自定义
<userDefinedPortstart="false"port="873"/><!-- port=874 -->
# 设置超时时间
<timeoutstart="true"time="100"/><!-- timeout=100 -->
# 设置rsync+ssh加密传输模式,默认关闭,开启需设置SSH加密证书
<sshstart="false"/></rsync>
# sersync传输失败日志脚本路径,每隔60会重新执行该脚本,执行完毕会自动清空。
<failLogpath="/usr/local/sersync/log/rsync_fail_log.sh"timeToExecute="60"/><!--default every 60mins execute once-->
# 设置rsync+crontab定时传输,默认关闭
<crontabstart="false"schedule="600"><!--600mins--><crontabfilterstart="false"><excludeexpression="*.php"></exclude><excludeexpression="info/*"></exclude></crontabfilter></crontab>
# 设置sersync传输后调用name指定的插件脚本,默认关闭
<pluginstart="false"name="command"/></sersync>
# 插件脚本范例
<pluginname="command"><paramprefix="/bin/sh"suffix=""ignoreError="true"/><!--prefix /opt/tongbu/mmm.sh suffix--><filterstart="false"><includeexpression="(.*)\.php"/><includeexpression="(.*)\.sh"/></filter></plugin>
# 插件脚本范例
<pluginname="socket"><localpathwatch="/opt/tongbu"><deshostip="192.168.138.20"port="8009"/></localpath></plugin><pluginname="refreshCDN"><localpathwatch="/data0/htdocs/cms.xoyo.com/site/"><cdninfodomainname="ccms.chinacache.com"port="80"username="xxxx"passwd="xxx"/><sendurlbase="http://pic.xoyo.com/cms"/><regexurlregex="false"match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/></localpath></plugin></head>
4、 创建同步目录:
mkdir /home/data
5、 设置环境变量:
# echo "export PATH=$PATH:/usr/local/sersync/bin/" >> /etc/profile
# source /etc/profile
6、 启动sersync
sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml
#重启操作如下:# killall sersync2 && sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml
7、 设置开机启动
# echo
"sersync2 -r -d -o /usr/local/sersync/conf/confxml.xml" >> /etc/rc.local
实验
启动了sersync服务之后
发送机
[root@MiWiFi-R1Ddata]# ls /home/data/
[root@MiWiFi-R1Ddata]# touch backup.sql
[root@MiWiFi-R1Ddata]# lsbackup.sql
接收机
[root@i-nzwxivja xjmysql]# ls /data/backup/xjmysql/
[root@i-nzwxivja xjmysql]#
[root@i-nzwxivja xjmysql]# ls
backup.sql
结论
可以看到文件很快的就被同步到远程机器上了,实验成功。
参考文章
声明:
本文出自 “orangleliu笔记本” 博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/46699147作者orangleliu采用署名-非商业性使用-相同方式共享协议
版权声明:本文为orangleliu(http://blog.csdn.net/orangleliu/)原创文章,文章转载请声明。
原文:http://blog.csdn.net/orangleliu/article/details/46699147
内容总结
以上是互联网集市为您收集整理的[sersync+rsync] centos6.5 远程文件同步部署记录全部内容,希望文章能够帮你解决[sersync+rsync] centos6.5 远程文件同步部署记录所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。