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/    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.致谢

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

相关推荐
laoma-cloud27 分钟前
数据库高可用全方案:Keepalived 故障切换 + LVS (DR) 模式 + MariaDB 主主同步实战案例
运维·数据库集群
liulilittle1 小时前
UNIX/macOS路由表查询原理与实现
服务器·开发语言·c++·macos·unix·编程语言
Hi202402171 小时前
基于阿里云部署 RustDesk 自托管服务器
运维·服务器·阿里云·云计算·远程控制·远程桌面
IDOlaoluo1 小时前
OpenSSL 1.0.1e 下载解压和运行方法(小白适用 附安装包)
linux
I like Code?1 小时前
阿里云服务器配置ssl-docker nginx
服务器·阿里云·ssl
豆是浪个1 小时前
Linux(Centos 7.6)命令详解:sar
linux·运维·centos
fie88891 小时前
CentOS下Bind服务的安装与故障排查
linux·运维·centos
少陽君1 小时前
如何使用自签 CA 签发服务器证书与客户端证书
运维·服务器
Xの哲學2 小时前
Linux RCU (Read-Copy-Update) 机制深度分析
linux·网络·算法·架构·边缘计算
東雪蓮☆2 小时前
Linux 网络流量监控 Shell 脚本详解(支持邮件告警)
linux·运维·服务器