如何编写 Linux 自动化备份脚本实现异机容灾存储实战

老芳同学_3432

老芳同学_3432

2026-06-18

307人浏览

原创

linux异地容灾备份核心是本地定时打包+安全传输+远程校验+失败告警;需用tar压缩关键数据并保留7天版本,rsync over ssh免密推送(密钥加command限制),远程校验sha256及抽样解压,并通过cron调度脚本实现自动化与异常兜底。

如何编写 linux 自动化备份脚本实现异机容灾存储实战

要实现 Linux 自动化备份并同步到异地服务器做容灾,核心是:本地定时打包 + 安全传输 + 远程校验 + 失败告警。不依赖复杂工具,用 rsync + cron + ssh 密钥就能稳定运行。

本地备份:压缩关键数据并保留多版本

避免直接 rsync 原目录(易被写入中损坏),先 tar 打包再压缩。建议按日期命名,保留最近 7 天:

  • 用 tar --gzip 压缩,加 --exclude 排除临时文件、缓存、日志等非必要项
  • 生成文件名如 backup_$(date +\%Y\%m\%d).tar.gz,便于识别和清理
  • 备份后用 sha256sum 计算校验码,存为同名 .sha256 文件,供远程比对

安全传输:rsync over SSH 无密码推送

不用 ftp 或 http,走 SSH 通道更安全。关键是配置免密登录和限制命令权限:

Browser Setup (No-Root Linux)
Browser Setup (No-Root Linux)

在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...

下载
  • 在备份机上执行 ssh-keygen -t ed25519,将公钥用 ssh-copy-id 推到容灾机
  • 容灾机的 ~/.ssh/authorized_keys 中,给该公钥加上 command="rsync --server ..." 限制,防止密钥被滥用
  • rsync 命令加 -avz --delete-after,确保远程目录与本地备份集严格一致,且删除只发生在传输完成后

容灾校验:远程验证完整性与可用性

传完不等于可用。需在容灾机上自动验证:

  • 用 ssh user@remote 'sha256sum -c /path/to/backup_20240401.tar.gz.sha256 2>/dev/null' 检查哈希是否匹配
  • 抽样解压一个文件(如 tar -tzf backup_*.tar.gz | head -n1 | tar -xzf backup_*.tar.gz -O),确认归档可读
  • 校验失败时,脚本记录日志并触发邮件或微信通知(可用 curl 调用企业微信机器人)

自动化调度与异常兜底

cron 只负责触发,真正的健壮性靠脚本内控:

  • cron 设为每天凌晨 2:30 执行:30 2 * * * /opt/scripts/backup-to-remote.sh >> /var/log/backup.log 2>&1
  • 脚本开头加 set -e,任一命令失败即退出;用 trap 'echo "ERROR at line $LINENO"' ERR 定位问题
  • 本地保留最多 7 个备份,容灾机也定期清理:find /backup/remote/ -name "backup_*.tar.gz" -mtime +30 -delete

整个流程不复杂但容易忽略细节:比如 tar 时没加 -C 切换目录导致路径错误,rsync 没加 --delete-after 引发残留,或者 SSH 密钥没限制命令导致安全隐患。把每步验证做实,异机容灾就真正可靠了。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

860

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2552

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

856

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

769

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2296

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4252

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

687

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习