前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux系统集群架构线上项目配置实战 五(完结篇)

Linux系统集群架构线上项目配置实战 五(完结篇)

作者头像
民工哥
发布2020-09-16 16:55:31
4180
发布2020-09-16 16:55:31
举报
文章被收录于专栏:民工哥技术之路

写在前面

今天介绍项目后期的全网数据备份规划与配置过程,整个过程包括备份规划、脚本编写、数据同步等

01

全网数据备份规划

数据备份规划如下

数据库

从库开启binlog,通过全备与增量备份来进行,每天00:00全备一次,每天12:00增量备份一次,初期数据量不大的情况,后期根据数据量进行调整

本地备份目录

代码语言:javascript
复制
/server/backup/mysql/data
/server/backup/mysql/binlog

FTP数据

实时同步上传数据,防止服务故障,可以快速切换

代码语言:javascript
复制
/www/ftp 同步至 /www/ftp

其它服务器数据实行实时同步

比如说配置文件备份、代码包备份

本地备份目录

代码语言:javascript
复制
/server/backup/app
/server/backup/sjapp
/server/backup/admin
/server/backup/shangjia
/server/backup/web

所有数据本地保留一周,远端备份服务器保留30天

02

数据库服务备份配置

代码语言:javascript
复制
mkdir /server/backup/mysql/data
mkdir /server/backup/mysql/binlog
mkdir /server/scripts/

脚本写好了,就需要写个定时任务定时执行,然后手工检查

代码语言:javascript
复制
Cat>>/var/spool/cron/root<<EOF
00 00 * * * /bin/sh /server/scripts/fullbak.sh >/dev/null 2>&1
00 12 * * * /bin/sh /server/scripts/binlog_bak.sh >/dev/null 2>&1

EOF

03

静态资源服务器数据同步

同步服务器创建对等目录

mkdir /www/ftp

安装rsync服务

Yum install rsync –y

配置rsync配置文件

代码语言:javascript
复制
vim /etc/rsyncd.conf
##rsync.conf config start
uid = rsync
gid = rsync
use chroot = no
max connetctions = 200
timeout = 100
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /www/ftp
ignore errors
read only = false
list = false
hosts allow = 10.0.0.8
auth users = rsync_backup
secrets file = /etc/rsync.password
##rsync config  end

创建用户

代码语言:javascript
复制
useradd rsync -s /sbin/nologin -M

配置权限设置密码

代码语言:javascript
复制
chown -R rsync:rsync /www/ftp
echo "rsync_backup:rsync.conf">/etc/rsync.password
chmod 600 /etc/rsync.password

启动服务

代码语言:javascript
复制
rsync –daemon
[root@resources ~]# netstat -lntup|grep rsync
tcp  0 0 0.0.0.0:873  0.0.0.0:*  LISTEN  26280/rsync

客户端配置密码

代码语言:javascript
复制
echo "rsync.conf">/etc/rsync.password
chmod 600 /etc/rsync.password

测试手工同步数据是否成功

代码语言:javascript
复制
[root@resources ~]# rsync -avzP /etc/hosts rsync_backup@10.0.0.11::backup --password-file=/etc/rsync.password
sending incremental file list
hosts
473 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)
sent 314 bytes  received 27 bytes  682.00 bytes/sec
total size is 473  speedup is 1.39
[root@ftp-bakserver ~]# ll /www/ftp
total 4
-rw-r--r-- 1 rsync rsync 473 May 26 13:24 hosts

客户端安装sersync服务

代码语言:javascript
复制
tar zxvf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/
[root@resources ~]# cd /usr/local/
[root@resources local]# mv GNU-Linux-x86 sersync

规范文件目录

代码语言:javascript
复制
[root@resources sersync]# mkdir -p conf bin logs

拷贝配置文件并修改

代码语言:javascript
复制
[root@resources sersync]# mv confxml.xml conf/
[root@resources sersync]# mv sersync2 bin/sersync

修改配置文件内容(confxml.xml)

1、修改24-28行

代码语言:javascript
复制
<localpath watch="/opt/tongbu">
 <remote ip="10.0.0.11" name="tongbu1"/>
 <!--<remote ip="192.168.8.39" name="tongbu"/>-->注释内容
 <!--<remote ip="192.168.8.40" name="tongbu"/>-->注释内容
        </localpath>

修改后的内容为

代码语言:javascript
复制
 <localpath watch="/www/ftp"> 本地数据的路径
  <remote ip="10.0.0.11" name="backup"/>远端IP与模块名称
         </localpath>
 <!#################################### -->注释内容

2、修改31-34行内容——认证

代码语言:javascript
复制
<commonParams params="-artuz"/>
<auth start="false" users="root" passwordfile="/etc/rsync.pass"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>

修改后的内容为

代码语言:javascript
复制
<commonParams params="-aruz"/>
<auth start="true" users="rsync_backup"  passwordfile="/etc/rsync.password"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="true" time="100"/><!-- timeout=100 -->
<ssh start="false"/>

3、修改36-37行

代码语言:javascript
复制
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default
 every 60mins execute once-->

修改成我们刚刚创建好的logs目录

代码语言:javascript
复制
<failLog path="/usr/local/sersync/logs/rsync_fail_log.sh" timeToExecut
e="60"/><!--default every 60mins execute once-->

配置环境变量

代码语言:javascript
复制
echo 'export PATH=$PATH:/usr/local/sersync/bin'>>/etc/profile
[root@resources sersync]# source /etc/profile
[root@resources sersync]# which sersync
/usr/local/sersync/bin/sersync

启动服务

代码语言:javascript
复制
[root@resources sersync]# sersync -r -d -o /usr/local/sersync/conf/confxml.xml

测试实时同步

代码语言:javascript
复制
[root@resources opt]# cd backup/
[root@resources backup]# ll
total 0
[root@ftp-bakserver ~]# cd /www/ftp
[root@ftp-bakserver backup]# ll
total 0
[root@resources ftp]# for i in `seq 10`;do mkdir -p /opt/backup/$i;done
[root@resources ftp]# ll
1 5 10 6 2 7 3 8 4 9  
[root@ftp-bakserver ftp]# ls
1 5 10 6 2 7 3 8 4 9 

可以同步

04

全网服务器数据同步配置

备份服务器配置

代码语言:javascript
复制
[user-app]
path = /mnt/backup/user-app
ignore errors
read only = false
list = false
hosts allow = 10.0.0.4
auth users = rsync_backup
secrets file = /etc/rsync.password
[sj-app]
path = /mnt/backup/sj-app
ignore errors
read only = false
list = false
hosts allow = 10.0.0.5
auth users = rsync_backup
secrets file = /etc/rsync.password
[admin]
path = /mnt/backup/admin
ignore errors
read only = false
list = false
hosts allow = 10.0.0.6
auth users = rsync_backup
secrets file = /etc/rsync.password
[shangjia]
path = /mnt/backup/shangjia
ignore errors
read only = false
list = false
hosts allow = 10.0.0.7
auth users = rsync_backup
secrets file = /etc/rsync.password
[web]
path = /mnt/backup/web
ignore errors
read only = false
list = false
hosts allow = 10.0.0.8
auth users = rsync_backup
secrets file = /etc/rsync.password 

其它同步客户端安装与配置sersync按上述操作进行

备份脚本基本都是打包备份或直接拷贝文件到本地备份目录

其它项目文章可查看往期回顾

-----至此,整个项目过程都已经介绍完成-----

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档