rsync全网备份数据

1.项目准备

CentOS7 3台服务器主机web01、backup、nfs01
主机规划 
web01服务器        外网 192.168.232.7/24   内网 172.16.1.7/24
NFS存储服务器      外网 192.168.232.31/24  内网 172.16.1.31/24
backup备份服务器   外网 192.168.232.41/24  内网 172.16.1.31/24

2.克隆生成服务器

1)更改主机名称
	hostnamectl set-hostname 服务器名称
2)修改网卡配置信息(我的网卡配置文件名称ens32,ens34)
NAT网段(我的模板机IP:192.168.232.200)
sed -i 's#200#7#g' /etc/sysconfig/network-script/ifcfg-ens32
sed -i  '/UUID/d'  /etc/sysconfig/network-script/ifcfg-ens32
LAN网段
sed -i 's#200#7#g' /etc/sysconfig/network-script/ifcfg-ens34
sed -i  '/UUID/d'  /etc/sysconfig/network-script/ifcfg-ens34
重启网络服务重新远程连接
	systemctl restart network
其他克隆的服务器与上面操作类同

3.项目需求

每天晚上 00 点整在 Web 服务器上打包备份系统配置文件、
网站程序目录及访问日志并通过 rsync 命令推送备份服务器 backup 上备份保留
(备份思路可以是先在本地按日期打包,然后再推到备份服务器 backup 上) ,
NFS 存储服务器同 Web 服务器,实际工作 中就是全部的服务器

4.项目分析

1.服务端 
	备份服务器
		1)搭建部署rsync守护进程
		2)检验数据的完整性 md5sum -c finger.txt
		3)删除180以前的数据保存周一的数据
		find /backup/ -type f  -mtime +180 ! -name "*week1.tar.gz" | xargs rm 2>/dev/null
		3)配置163邮箱

2.客户端

	web01服务器 
		1)创建一个备份目录与服务端备份目录保持一致 /backup
		2)在备份目录下创建一个有本机标识的目录 /backup/172.16.1.7
		3)压缩打包web01服务器上的重要的系统数据和开发的网站数据(没有的假设已经创建)
			/var/spool/cron/root,/etc/hosts,/etc/rc.local,/etc/sysconfig/iptables
			/var/html/www,/app/logs
		4)将保存在本机的7天以前的备份数据删除 节省磁盘空间
			find /backup/ -type f -mtime +7 | xargs rm 2>dev/null
		5)将当天的打包好的数据生成指纹 保存到finger.txt文件中(利用md5sum生成指纹)
		6)将备份数据推送到备份服务器
		7)编写脚本
		8)编写定时任务
			
	NFS存储服务器
	
			1)创建一个备份目录与服务端备份目录保持一致 /backup
		2)在备份目录下创建一个有本机标识的目录 /backup/172.16.1.31
		3)压缩打包NFS服务器上的重要的系统数据(没有的假设已经创建)
			/var/spool/cron/root,/etc/hosts,/etc/rc.local,/etc/sysconfig/iptables
		4)将保存在本机的7天以前的备份数据删除 节省磁盘空间
		5)将当天的打包好的数据生成指纹 保存到finger.txt文件中
		6)将备份数据推送到备份服务器
		7)编写脚本
		8)编写定时任务

5.部署服务器

1.服务端  backup备份服务器
		1)下载安装rsync  yum install -y rsync
		2) 编写配置文件
			vim /etc/rsyncd.conf
				# rsyncd.conf start
				# 指定管理备份目录的用户
				uid = rsync
				# 指定管理备份目录的用户组
				gid = rsync
				# 定义rsync备份服务的网络端口号
				port= 873
				# 伪装称为超级用户 root
				fake super = yes
				user chroot = no
				#定义最大连接数  同时只能有200个客户端连接到备份服务器
				max connections = 200
				#设置  超时时间(单位秒)
				timeout = 300
				# 记录进程号码信息 1.让程序快速停止进程 2. 判断一个服务是否正在运行
				pid file = /var/run/rsyncd.pid
				# 锁文件  控制最大连接数
				lock file = /var/run/rsync.lock
				# rsync服务的日志文件
				log file = /var/log/rsync.log
				# 忽略传输中的简单错误
				ignore errors
				# 指定备份目录是可读可写
				read only = false
				# 使客户端可以查看服务端的模块信息
				list = false
				# 允许传输备份数据的主机(白名单)
				hosts allow = 172.16.1.0/24
				# 禁止传输备份数据的主机(黑名单)
				hosts deny = 0.0.0.0/32
				# 指定认证用户
				auth users = rsync_backup
				# 指定认证用户密码文件 用户名称:密码信息
				secrets file = /etc/rsync.password
				# 模块信息
				[backup]
				comment = "backup dir by oldboy"
				# 模块中配置参数 指定备份目录
				path = /backup
		3)创建rsync服务的虚拟用户
			useradd rsync -M -s /sbin/nologin
		
		4)创建备份服务认证密码文件
			echo "rsync_backup:oldboy123" >/etc/rsync.password
			chmod 600 /etc/rsync.password
		5)创建备份目录并修改属主属组信息
			mkdir /backup
			chown rsync.rsync /backup/
		6)启动备份服务
			systemctl start rsyncd
			systemctl enable rsyncd
			systemctl status rsyncd
2.客户端  web01、nfs01服务器
			echo "rsync_backup:密码信息" >/etc/rsync.password
			chmod 600 /etc/rsync.password
	

6.163企业邮箱配置

1.网易邮箱配置
在这里插入图片描述
在这里插入图片描述

2.linux服务器配置
vim /etc/mail.rc
set from=邮箱账号 smtp=smtp.163.com
set smtp-auth-user=邮箱账号 smtp-auth- password=授权码 smtp-auth=login

7.脚本编写

1.backup 备份服务器 /server/scripts/rsync_backup.sh

在这里插入图片描述
2.web01服务器 /server/scripts/web_backup
在这里插入图片描述

3.nfs服务器 /server/scripts/nfs_backup.sh
在这里插入图片描述

8.定时任务编写

backup备份服务器定时任务
crontab -e
0 0 * * * /bin/sh /server/scripts/rsync_backup.sh &> /dev/null
其他服务器定时任务编写类似

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值