rsync 全网备份

目录

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/    [email protected]::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}" [email protected]::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.致谢

非常感谢您阅读我的博客!如果您有任何问题、建议或想了解特定主题,请随时告诉我。您的反馈对我非常重要,我将继续努力提供高质量的内容。

相关推荐
K龙23 分钟前
私有资产测绘&安全流水线Shovel
运维·安全·开发·其它
影龙帝皖26 分钟前
Linux服务之lvs+keepalived nginx+keepalived负载均衡实例解析
linux·nginx·lvs
程序猫A建仔33 分钟前
【物联网】基于树莓派的物联网开发【4】——WIFI+SSH远程登录树莓派
运维·物联网·ssh
八月的雨季 最後的冰吻35 分钟前
SIP协议栈--osip源码梳理
linux·服务器·网络·c++·网络协议
jllllyuz44 分钟前
matlab实现蚁群算法解决公交车路径规划问题
服务器·前端·数据库
山师第一深情1 小时前
ssh connect to remote gitlab without authority
服务器·ssh·gitlab
敖云岚2 小时前
【Linux】基于虚拟机实现网络的管理
linux·服务器·网络
luck_me52 小时前
如何远程执行脚本不留痕迹
linux·运维·服务器
-SGlow-2 小时前
Linux相关概念和易错知识点(40)(HTML资源交互、网页管理、搜索引擎)
linux·运维·服务器·网络·html·交互
默心2 小时前
centos7部署mysql5.7
linux·运维·mysql·centos