加两个需求:
1.增加一个模块
2.每个模块不同的用户名
步骤:
1.修改配置文件/etc/rsyncd.conf [backup] comment = commit path = /backup auth users=rsync_backup1 secrets file=/etc/rsync1.passwd [data] comment = commit path = /data auth users=rsync_backup2 secrets file=/etc/rsync2.passwd 2.增加目录 mkdir /data chown -R rsync.rsync /data 3.增加相应的认证文件 echo ‘rsync_backup1:1‘ > /etc/rsync1.passwd echo ‘rsync_backup2:1‘ > /etc/rsync2.passwd chmod 600 /etc/rsync?.passwd 4.重启服务生效
5.Rsync备份案例
已知2台服务器主机分别为backup、nfs,主机信息见下表
角色 外网IP(NAT) 内网IP(LAN) 主机名 Rsync服务端 eth0:10.0.1.51 eth1:172.16.1.51 backup Rsync客户端 eth0:10.0.1.41 eth1:172.16.1.41 nfs
客户端要求:
1.客户端每天凌晨01点在服务器本地打包备份(系统配置文件、日志文件、其他目录、应用配置等文件)
2.客户端备份的数据必须存放至以主机名IP地址当前时间命名的目录中,例/backup/nfs_172.16.1.41_2020-01-20
3.客户端最后通过rsync推送本地打包好的备份文件至backup服务器
4.客户端服务器本地保留最近七天的数据,避免浪费磁盘空间
分析思路:
1.备份谁 系统配置文件: /etc/fstab /etc/hosts /var/spool/cron/root 日志文件: /var/log/messages /var/log/secure /var/log/cron 服务配置文件: /etc/rsyncd.conf 2.备份的要求 /backup/nfs_172.16.1.41_2020-01-20 获取的信息有: 主机名:hostname IP地址:ifconfig eth1 | awk ‘NR==2{print $2}‘ 或 hostname -I | awk ‘{print $2}‘ 时间:date +%F 目录名:/backup/$(hostname)_$(hostname -I | awk ‘{print $2}‘)_$(date +%F) 注意;建议使用变量来优化命令
优化后的客户端脚本代码
#!/bin/bash #1.定义变量 Host=$(hostname) IP=$(ifconfig eth1 | awk ‘NR==2{print $2}‘) Date=$(date +%F) BackupDir=/backup Dest=${BackupDir}/${Host}_${IP}_${Date} #2.创建备份目录 mkdir -p $Dest #3.收集需要备份的文件 #sysconf backup tar czf $Dest/sysconf.tar.gz /etc/fstab /etc/hosts /var/spool/cron/root &>/dev/null #logs backup tar czf $Dest/log.tar.gz /var/log/messages /var/log/secure /var/log/cron &>/dev/null #svrconf backup tar czf $Dest/svrconf.tar.gz /etc/rsyncd.conf &>/dev/null #4.校验 md5sum $Dest/* > $Dest/backup_check__$Date #5.将备份目录推送到服务端 Rsync_IP=172.16.1.51 Rsync_User=rsync_backup Rsync_Module=backup export RSYNC_PASSWORD=1 rsync -avz $Dest $Rsync_User@$Rsync_IP::$Rsync_Module #6.保留7天以内的备份数据 find $BackupDir -type d -mtime +7 | xargs rm -rf
问题:
1.文件没有归档压缩
2.没校验
服务端要求:
1.服务端部署rsync,用于接收客户端推送过来的备份数据
2.服务端需要每天校验客户端推送过来的数据是否完整
3.服务端需要每天校验的结果通知给管理员
4.服务端仅保留6个月的备份数据,其余全部删除
注意:所有服务器的备份目录必须都为/backup
1.把服务搭建起来 2.检查校验结果,并保存到指定的文件中 md5sum -c /backup/*_$(date +%F)/backup_check* > /backup/*_$(date +%F)/result_$(date +%F).txt 3.通过邮件发送给管理员 [root@backup ~]# yum install mailx -y [root@backup ~]# vim /etc/mail.rc set from=1445xxxxx@qq.com set smtp=smtps://smtp.qq.com:465 set smtp-auth-user=144xxxxx@qq.com set smtp-auth-password=验证授权码 set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/etc/pki/nssdb mail -s "test" 144xxxxx@qq.com </etc/hosts
原文:https://www.cnblogs.com/xmtxh/p/12213449.html