中小规模群集架构实战-创新互联

 

在公安等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计、外贸营销网站建设 网站设计制作按需求定制网站,公司网站建设,企业网站建设,高端网站设计,成都营销网站建设,成都外贸网站建设公司,公安网站建设费用合理。

中小规模群集架构实战

 

前方Web Server的数据存放在NFS serverNFS Server定时监控数据,数据变动时自动同步至rsync服务器上,在rsync服务器上存放着 Web Server的数据文件、以及各服务器的配置文件。Web Server的数据均在NFSrsync

中小规模群集架构实战

 

上机实战

 

        某公司里有一台Web服务器,里面的数据很重要,如果硬盘坏了,数据会丢失,现在领导要求把数据备份,这样Web服务器数据丢失可以进行恢复。

需求:

        每天晚上00点整在Web服务器A上打包备份系统配置文件、网站程序目录及访问日志并通过rsync命令推送到服务器B上备份保留(备份思路可以是现在本地按日志打包,然后再推到备份服务器B上)。

问题一、实现把Web服务器A数据备份到服务器B

 

具体要求:

1) Web服务器A和备份服务器B的备份目录必须都为/backup

2) 系统配置文件包括但不限于:

a)        定时任务服务的配置文件(/var/spool/cron/root

b)        开机自启动的配置文件(/etc/rc.local

c)        日常脚本的目录(/server/scripts

d)        防火墙iptables的配置文件(/etc/sysconfig/iptables

e)        思考还有什么需要备份

3) Web服务器站点目录假定为(/var/html/www

4) Web服务器A访问日志路径假定为(/app/logs

5) Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满),备份服务器B上要保留6个月的数据副本。

6) 备份服务器B上要按照备份数据服务器的IP为目录保存,打包的文件按照时间名字保存。

实现:

1.B服务器配置rsync服务端

 

uid=rsync

gid=rsync

use chroot = no

max connections = 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 = 192.168.24.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

#############################

[backup]

comment = backup server

path=/backup

 

创建rsync用户 傀儡账号没有家目录

useradd rsync –s /sbin/nologin –M

创建/backup目录

Mkdir /backup

创建rsync.password密码文件

Echo “rsync_backup:oldboy”>/etc/rsync.password

Chmod 600 /etc/rsync.password

Rsync –daemon开启测试能否正常工作

Rsync –daemon

加入开机自启动

echo “rsync --daemon”>>/etc/rc.local

 

检查能否传输

rsync -avz /tmp/backup/rsync_backup@192.168.24.32::backup

中小规模群集架构实战

 

2.测试备份文件

a)        定时任务服务的配置文件(/var/spool/cron/root

b)        开机自启动的配置文件(/etc/rc.local

c)        日常脚本的目录(/server/scripts

d)        防火墙iptables的配置文件(/etc/sysconfig/iptables

e)        思考还有什么需要备份

7) Web服务器站点目录假定为(/var/html/www

8) Web服务器A访问日志路径假定为(/app/logs

 

a-d打包,把78分别打包78有可能数据很大所以要单独打包

mkdir /backup/"`ifconfig ens192|awk -F '[ :]+' 'NR==2 {print $3}'`_$(date +%F)"

cp /etc/rc.local /backup/192.168.24.21_2019-11-14/rc.local_$(date +%F)

中小规模群集架构实战

其他的文件以这种格式复制

%文件名_%日期

写成sh脚本:

[root@lnmp01 /]# vi backup.sh

IP=$(ifconfig ens192|awk -F '[ :]+' 'NR==2 {print $3}')

Path="/backup/$IP."

 

[ ! -d /backup/$IP ] && mkdir /backup/$IP -p

 

#!/bin/sh

tar zcf $Path/www_$(date +%F).tar.gz /var/html/www/

tar zcf $Path/conf_$(date +%F).tar.gz /var/spool/cron/root /etc/rc.local /etc/sysconfig/iptables /server/scrips

tar zcf $Path/log_$(date +%F).tar.gz /app/logs/

 

#backup to server

rsync -avz /backup rsync_backup@192.168.24.32::backup --password-file=/etc/rsync.password

 

#del

find /backup -type f -name "*.tar.gz" -mtime +7|xargs rm -f

 

制定定时任务:

[root@lnmp01 backup]# crontab -l

 

#####

00 00 * * * /bin/sh /server/scrips/backup.sh &> /dev/null  

 

在服务端制定保留6个月的数据的定时任务

 

[root@localhost ~]# vi /server/scrips/backupdel.sh

/bin/find /backup -type f -name "*.tar.gz" -mtime +180|xargs rm –f

[root@localhost ~]# crontab -e

no crontab for root - using an empty one

#####

00 00 * * * /bin/sh /server/scrips/backupdel.sh

 

通过添加md5校验值确定文件完整性

[root@lnmp01 backup]# find /backup/ -type f -name "*$(date +%F).tar.gz"|xargs md5sum > /backup/flag_$(date +%F)

中小规模群集架构实战

 

使用-c参数测试文件是否完整

[root@lnmp01 backup]# md5sum -c flag_2019-11-19

中小规模群集架构实战

 

 

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:中小规模群集架构实战-创新互联
URL地址:http://pwwzsj.com/article/johoj.html