目录
1.前言
2.背景
3.备份的内容
4.备份方式
5.环境准备
6.步骤
7.rsync服务端调试
7.1配置
7.2创建目录并测试
8.客户端备份脚本
9.服务端脚本配置
10.增加校验功能
11.致谢
1.前言
在当今数字化的时代,数据的价值不言而喻。无论是企业的关键业务数据,还是个人的珍贵回忆,确保数据的安全与可恢复性至关重要。而全网备份作为一种全面的数据保护策略,成为了众多组织和个人的重要选择
rsync,这个强大的工具,为我们实现全网备份提供了高效且可靠的解决方案。它以其独特的算法和灵活的配置,能够在不同的网络环境和系统架构下出色地完成数据同步与备份任务。
在这篇博客中,我们将深入探讨 rsync 在全网备份中的应用。从 rsync 的基本原理和特性入手,逐步深入到实际的备份场景和策略制定。我们将分享成功的案例和经验教训,帮助你更好地理解如何利用 rsync 打造一个强大的全网备份体系。
无论你是系统管理员、开发者,还是普通的电脑用户,都能从这篇博客中获得有关 rsync 全网备份的宝贵知识和实用技巧。让我们一同开启 rsync 全网备份的探索之旅,为数据的安全保驾护航。
2.背景
一些网站的数据 脚本代码需要备份的时候我们就需要用到rsync服务来做全网备份
3.备份的内容
我们常见的备份的有以下数据需要我们来备份
数据
脚本
代码
日志收集
4.备份方式
我们一般通过打包压缩+定时任务来进行全网备份
5.环境准备
角色 | 主机 | 运行服务 |
---|---|---|
存放备份 | backup | rsync服务端 |
生成备份 | nfs01 | rsync客户端 |
生成备份 | web01 | rsync客户端 |
6.步骤
步骤说明 | 详细内容 |
---|---|
1.rsync服务端配置与调试 | 配置rsync服务 |
2.rsync客户端配置备份脚本节点 | 1.备份 2.推送 3.清理 |
3.定时任务 | 定时运行脚本 |
4.在备份服务器上检查并且发送结果邮件 | 1.清理备份 2.rsync服务端检查备份并发送邮件 |
7.rsync服务端调试
7.1配置
在服务端机器中的主配置文件/etc/rsyncd.confconf 在之前的配置的基础上加入以下内容
(可以看上一篇博文获取之前的配置)
[backup]
comment=收集备份
path=/backup/
7.2创建目录并测试
mkdir backup
rsync -avz /backup/ rsync_backup@172.16.1.41::backup
8.客户端备份脚本
在客户端/server/scripts目录下创建bak_conf.sh文件并写入如下命令作为脚本
#!/bin/bash
# 1.变量
ip=$(hostname -I | awk '{print $2}')
backup_dir="/backup/${ip}"
time=$(date +%F_%V) # 使用 %V 替换 %W
backup_file="conf-${time}.tar.gz"
# 2.备份命令
mkdir -p "${backup_dir}"
tar zcf "${backup_dir}/${backup_file}" /etc/ /var/spool/cron/
# 3.推送命令
rsync -a "${backup_dir}" rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password
# 4.删除
find "${backup_dir}" -type f -name "*.tar.gz" -mtime +7 -exec rm -f {} \;
~
可以执行脚本 并使用tree命令来查看服务端机器有没有备份文件,结果如下图
9.服务端脚本配置
在服务端上写一个脚本功能是检查备份和清理备份 具体配置如下
10.增加校验功能
检查数据在传输中是否发生变化
md5sum 文件名
检查单个文件
校验多个文件(find+md5)
具体应用
客户端备份的时候生成备份,创建指纹信息md5sum
安全防护措施
给比较固定位置的文件 设置md5 定期校验
11.致谢
非常感谢您阅读我的博客!如果您有任何问题、建议或想了解特定主题,请随时告诉我。您的反馈对我非常重要,我将继续努力提供高质量的内容。