0

0

Linux 数据备份策略设计

冷炫風刃

冷炫風刃

发布时间:2026-02-05 18:34:02

|

576人浏览过

|

来源于php中文网

原创

rsync适合轻量日常增量备份,borgbackup更安全但需注意仓库完整性;推荐组合使用,配合flock防冲突、SSH优化和定期恢复验证。

linux 数据备份策略设计

备份方案选 rsync 还是 borgbackup

普通服务器日常增量备份,rsync 足够轻量、可控且兼容性好;但若需加密、去重、版本快照和跨设备恢复能力,borgbackup 是更安全的选择。两者不互斥——常见做法是用 rsync 做本地快速同步,再用 borgbackup 对同步后的目录做压缩加密归档。

注意:rsync 默认不校验文件内容一致性(仅靠 mtime/size),加 --checksum 会显著拖慢速度;borgbackup 默认启用内容定义块去重,首次备份慢,后续极快,但需要保留完整的 repo 目录,删错一个文件可能损坏整个仓库。

crontab 定时任务里怎么避免备份冲突?

多个备份任务并行运行容易导致源文件被修改、目标目录被覆盖或锁文件争用。关键做法是加锁 + 状态检查:

  • flock 包裹整个备份命令,例如:flock -n /tmp/backup.lock -c "rsync -a /data/ /backup/"
  • 在脚本开头检查上一次 rsync 进程是否还在:pgrep -f "rsync.*data" > /dev/null && exit 1
  • 每次备份前写入时间戳文件:date +%s > /backup/.last_run,便于监控任务是否“假死”

备份到远程 NAS 时,ssh 连接失败的典型原因

多数“备份中断”实际是 ssh 层面的问题,而非 rsyncborg 本身。常见触发点:

I-Shop购物系统
I-Shop购物系统

部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/

下载
  • 远程 sshd 配置了 MaxStartups 限制,突发连接被拒绝,错误类似:ssh: connect to host x.x.x.x port 22: Connection refused
  • 客户端未配置密钥自动登录,rsync 在后台执行时无法交互输入密码
  • 远程路径使用绝对路径但权限不足,例如 borg repo 放在 /mnt/nas/backup,而挂载用户无写权限
  • 网络波动导致长连接超时,建议在 ~/.ssh/config 中为该主机添加:ServerAliveInterval 60ServerAliveCountMax 3

如何验证一次备份真的可用?

90% 的备份故障暴露在恢复环节。不能只看日志里有没有 “success”,必须定期抽检:

  • rsync 备份,用 rsync --dry-run --delete 反向比对,确认差异项为 0
  • borgbackup,至少每月执行一次:borg check --verify-data repo::archive-name(注意:耗 I/O,避开业务高峰)
  • 挑一个非关键目录,用 borg extract 解出文件后,sha256sum 校验原始与恢复后的内容是否一致
  • 真正致命的是元数据损坏——比如 borg repo 的 config 文件被静默破坏,此时 borg list 都会失败,所以建议把 repo 的 confighints.0 文件单独同步一份到其他位置

备份不是“设完 crontab 就结束”的事,最常被跳过的其实是恢复演练和元数据保护。只要 repo 目录或 rsync 目标盘的 inode 信息异常,表面成功的备份可能根本无法还原。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

241

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

601

2024.03.01

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

281

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.12.29

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1478

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

710

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

296

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

784

2023.07.05

Golang处理数据库错误教程合集
Golang处理数据库错误教程合集

本专题整合了Golang数据库错误处理方法、技巧、管理策略相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.02.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 8.6万人学习

Git 教程
Git 教程

共21课时 | 3.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号