全网服务器数据备份

该文章描述了一个针对NFS服务器的数据备份方案,包括使用rsync进行定时备份,保留不同级别的数据副本,以及通过脚本自动化处理打包、推送、校验和删除过程。同时,文章强调了备份数据的完整性和正确性,并设置了邮件通知系统以报告备份状态。
摘要由CSDN通过智能技术生成

案例列举:

某公司里有一台NFS服务器,里面的数据很重要,但是如果硬盘坏了,数据就会丢失,现在领导要求你把数据在其他 机器上做一个周期性定时备份。要求如下:

每天晚上00点整在NFS服务器nfs01上打包备份网站程序目录等并通过rsync命令推送到

备份服务器backup上备份保存(备份思路 可以是先在本地按IP地址+日期打包,然后再利

用rsync推送到备份服务器上)。NFS存储服务器同Web服务器,实际工作中就是全部的

服务器。

案例要求:

NFS服务器nfs01和备份服务器backup的备份目录必须都为/backup

要备份的系统配置文件包括但不限于:

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

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

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

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

自己思考下还有什么需要备份呢

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

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

Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满)

备份服务器上,保留每周一的所有数据副本,其它只保留6个月的数据副本

备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。

需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发送给系统管理员邮箱中。

解决思路:

1)搭建backup服务器。

a.搭建rsync服务

2)搭建web服务器。

1.验证rsync服务能否推送成功。

2.开发脚本,实现打包,备份,推送,校验,删除。

3.配置定时任务定时推送,每天0点定时推送。

3)搭建backup服务器。

1.实现校验,删除,报警。

2.配置定时任务每天6点定时执行。

4)搭建nfs服务器。

1.验证rsync服务能否推送成功。

2.开发脚本,实现打包,备份,推送,校验,删除。

3.配置定时任务定时推送,每天0点定时推送。

项目实施:

  1. 创建四台虚拟机,分别命名web1、web2、nfs_sever、backup

  1. 给nfs_server和backup分别安装网络源和inotify并配置

  1. 查看nfs_server安装NFS安装包并安装

  • yum -y install nfs-utils rpcbind

  1. 启动NFS相关服务

  • mkdir -p /nfsbackup

  • chmod 777 /nfsbackup

  • vim /etc/exports

  • systemctl start rpcbind

  • systemctl start nfs

  • systemctl enable rpcbind

  • systemctl enable nfs

  • netstat -anpt | grep 111

  • exportfs -rv 发布内容

  • showmount -e 查看发布内容

  • systemctl stop firewalld

  1. 在web客户端上安装nfs-utils 创建/var/html并挂载到服务端下

  1. 挂载完后返回nfs服务端 修改rsyncd.conf的配置文件

  1. 创建共享目录及添加rsync程序用户

useradd -M -s /sbin/nologin rsync

cat /etc/passwd | grep rsync

mkdir /nfsbackup

  1. 启动服务并检查

rsync --daemon

netstat -antup | grep rsync

  1. 更改属主

chown -R rsync /nfsbackup

  1. 创建rsync虚拟账户和密码

echo "rsync_backup:111111" >/etc/rsync.password1

  1. 将账户密码文件的权限设置为600

chmod 600 /etc/rsync.password1

  1. 加入开机自启

echo "rsync --daemon" >> /etc/rc.local

  1. 返回web1客户端创建一个密码文件和备份目录

rpm -qa rsync

echo "111111" > /etc/rsync.password1

mkdir /backup1

  1. 将密码文件权限设置为600

chmod 600 /etc/rsync.password1

ls -ld /etc/rsync.password

  1. Rsync同步测试

rsync -avzP /backup1/ rsync_backup@192.168.47140::nfsbackup --password-file=/etc/rsync.password1

  1. 测试成功后以backup为服务端 nfs、web1、web2为客户端操作同上进行测试

  1. 通过脚本实现rsync功能

  1. inotify实时监控脚本配置文件

  1. 做定时任务,每天上午6点发送邮箱

[root@backup ]# crontab -l

* * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

* * * * * /bin/bash /server/scripts/checkbak.sh >/dev/null 2>&1

项目总结:

  • 环境搭建是一定关闭防火墙和selinux服务

  • 对rsync的文件一定要注意权限问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值