Rsync

环境:

角色IP主机名
Web10.0.0.7web01 (客户端)
Nfs10.0.0.31nfs (客户端)
Rsync10.0.0.41backup (服务端)

客户端要求:

1.客户端每天凌晨01点在本地打包备份(系统配置文件、日志文件、其他目录、应用配置等文件)

2.客户端备份的数据必须存放至以主机名IP地址当前时间命名的目录中, 例"/backup/nfs_10.0.0.31_2018-09-26"

3.客户端最后通过rsync推送本地已打包好的备份文件至backup服务器

4.客户端本地保留最近7天的数据, 避免浪费磁盘空间

服务端要求:

1.服务端部署Rsync,用于接受客户端推送过来的备份数据

2.服务端需要每天校验客户端推送过里的数据是否完整

3.服务端需要每天检验的结果通知给管理员

4.服务端仅保留6个月的备份数据,其余的全部删除

注意:所有服务器的备份目录必须都为/backup

实施步骤: 

客户端:
# vim rsync_backup.sh 
#!/bin/bash
export RSYNC_PASSWORD=1
#定义变量
host=$(hostname)
ip=$(ifconfig eth0  | awk 'NR==2{print $2}')
date=$(date +%F)
dir=/backup
bak_mod=backup
bak_user=rsync_user
bak_sev=10.0.0.41
bak_name=${host}_${ip}_${date}
bak_dir=/backup/${bak_name}
sysconf_file="/etc/passwd /etc/shadow /etc/hosts /etc/fstab /etc/sysconfig/network-scripts/ifcfg-* /boot/grub2/grub.cfg"
appconf_file="/etc/yum.conf"
log_bak="/var/log"
dir_bak="/var/spool/cron /etc/firewalld"
rsync_opt="-avz"

#1.创建备份目录
mkdir -p  $bak_dir

#2.复制备份文件至备份目录
#sysconf_bak
\cp -rp $sysconf_file  $bak_dir
#appconf_bak
\cp -rp $appconf_file $bak_dir
#log_bak
\cp -rp $log_bak $bak_dir
#dir_bak
\cp -rp $dir_bak  $bak_dir

#3.压缩归档备份目录
cd $dir
tar czf ${bak_name}.tar.gz ${bak_name}

#4.对归档文件校验
md5sum ${bak_name}.tar.gz >${bak_name}_md5check

#5.上传归档文件至backup服务器
rsync $rsync_opt $dir/${bak_name}{.tar.gz,_md5check} ${bak_user}@${bak_sev}::${bak_mod}

#6.保留7天内的文件
find $dir -mtime +7 -delete
服务端:
	一.部署reync独立服务
		    1.安装软件包
			yum install -y rsync

			2.修改rsyncd的配置文件/etc/rsyncd.conf
			vim /etc/rsyncd.conf
			##默认是nobody
			uid = rsync
			##默认是nobody
			gid = rsync
			port = 873
			fake super = yes
			use chroot = no
			max connections = 200
			timeout = 600
			ignore errors
			read only = false
			list = false
			##开启自定义认证,定义用户名
			auth users = rsync_user
			##指定认证文件,格式username:password
			secrets file = /etc/rsync.password
			log file = /var/log/rsyncd.log
			#####################################
			##备份模块名
			[backup]
			##描述信息
			comment = welcome to softeem backup!
			##真实路径
			path = /backup

			3.根据配置文件创建所需环境
			1)创建程序用户
			useradd -u 900 -M -s /sbin/nologin rsync
			2)创建备份目录,并修改所属
			mkdir -p /backup
			chown -R rsync.rsync /backup
			3)创建自定义认证文件
			echo "rsync_user:1" >/etc/rsync.password
			chmod 600 /etc/rsync.password

			4.启动服务
			systemctl start rsyncd
			systemctl enable rsyncd
	二、开启邮件代理转发
		1)安装软件包
		yum install -y mailx

		2)修改mailx的配置文件
		cat >> /etc/mail.rc <<EOF
		set from=1906306671@qq.com
		set smtp=smtps://smtp.qq.com:465
		set smtp-auth-user=1906306671@qq.com
		set smtp-auth-password=yxuoravffblefacd
		set smtp-auth=login
		set ssl-verify=ignore
		set nss-config-dir=/etc/pki/nssdb/
		EOF

		3.写脚本自动校验客户端上传的备份文件
		vim rsync_check.sh
		#!/bin/bash

		#定义变量
		dir=/backup
		date=$(date +%F)

		cd $dir
		#校验,并将结果发送到邮箱
		find -name "*${date}_md5check" |xargs md5sum -c | mail -s "$date_备份结果" 1906306671@qq.com &> /dev/null

		#查过半年的文件删除
		find $dir -mtime +180 -delete  

实验结果:

在服务端验证:

 收到邮件:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值