全网备份服务

全网备份项目

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

简单整理后具体要求如下:
客户端要求:
1.备份目录为/backup
2.配置文件包括但不限于
定时任务服务的配置文件(/var/spool/cron/root)
开机自启动的配置文件(/etc/rc.local)
日常脚本的目录 (/server/scripts)
防火墙 iptables 的配置文件(/etc/sysconfig/iptables)
3.备份保留七天,太多会占用大量磁盘空间
4.web服务器上站点目录(假设为/var/html/www)
日志文件假定为/app/logs
服务端要求:
1.保留每周一的备份,其他保留180天
2.确保数据完整性,将成功或失败结果发送到邮箱
3.按照内网IP作为目录保存

rsync全网备份项目部署过程

1.用户端编写:

1.创建脚本

mkdir -p /server/scripts
touch /server/scripts/rsync.sh

2.打开脚本

vim /server/scripts/rsync.sh

3.脚本里面编写

		#!/bin/bash
		#设置环境变量
		TIME=$(date +%F_week%w)
		IP=`hostname -I|awk '{print $1}'`
		#创建目录
		mkdir -p /backup/$IP/$TIME
		#创建压缩文件
		tar zcvfh /backup/$IP/$TIME/$TIME.tar.gz /var/spool/cron/root /etc/rc.local /server/scripts /etc/sysconfig/iptables /var/html/www /app/logs
		#创建指纹
		md5sum /backup/$IP/$TIME/$TIME.tar.gz > /backup/$IP/md5.txt
		#发送到backup备份服务器
		rsync -avz /backup/$IP/$TIME --delete rsync_backup@backup::backup --password-file=/etc/rsync.passwd
		#找出七天以前的文件删除掉
		find /backup/ -type f -name "*.tar.gz" -mtime +7 |xargs rm -rf

4.执行脚本测试

	sh /server/scripts/rsync.sh

2.编写服务端脚本

	1.创建脚本文件
		mkdir -p /server/scripts
		touch  /server/scripts/rsync.sh
	2.编写服务端脚本
		#!/bin/bash
		#找出180天以前的并且删除只保留每周一的文件
		find /backup -type f -mtime +180 ! -name "*week1.tar.gz" |xargs rm -rf
		#对比文件传输是否有误
		find /backup -type f  -name "md5.txt" |xargs md5sum -c >/data/baogao.txt
		#将对比结果用邮箱发送出去
		mail -s "领导请查看今天的汇报" [email protected] </data/baogao.txt
4.执行脚本测试
5.客户端服务端测试后写入定时任务中(crontab)

使用IP地址命名目录用来区分不同的服务器
压缩包加上时间防止名字相同而覆盖
客户端服务端文件防止路径要保持一致,防止mf5sum核对文件时路径不对

邮箱设置:

1.打开邮箱的配置文件
	vim /etc/mail.rc
2.在文件尾部加上(此处以163邮箱为例)
	set from=(此处为邮箱地址) smtp=smtp.163.com 
	set smtp-auth-user=(此处为邮箱地址) smtp-auth-password=(授权的密码) smtp-auth=login
3.使用浏览器打开邮箱点击设置选择pop3/smtp/imap 设置选项
	将IMAP/SMTP服务选项选择上
	下面记住SMTP服务器的域名
	设置客户端授权密码
4.重启邮箱
	命令行执行:systemctl restart postfix.service

猜你喜欢

转载自blog.csdn.net/weixin_44455125/article/details/86505490