4.4 KiB
4.4 KiB
title, type, tags, date
| title | type | tags | date | ||||
|---|---|---|---|---|---|---|---|
| Ubuntu服务器通过rsync实现日常增量备份 | source |
|
2026-04-26 |
Source File
Summary(用中文描述)
- 核心主题:使用 rsync 在 Ubuntu Server 上实现自动化增量备份,将 Docker 数据和配置文件同步到 NAS 存储
- 问题域:工作室级数据保护体系建设——在已完成 Clonezilla 全盘镜像备份的基础上,通过 rsync 实现不关机的日常增量同步
- 方法/机制:
- rsync 增量同步(仅传输变化文件)+ Crontab 凌晨自动执行
- NFS 永久挂载通过
/etc/fstab配置,配合_netdev参数确保网络就绪后再挂载 - 备份脚本内置锁文件机制(防止并发运行)、挂载点检查(防止写入本地磁盘)
- Docker 卷备份(直接同步
/var/lib/docker/volumes)+ 数据库一致性建议(mysqldump 优先)
- 结论/价值:形成"全盘镜像(Clonezilla)+ 日常增量(rsync)"双层数据保护体系,兼顾灾难恢复与实时数据安全
Key Claims(用中文描述)
- rsync 可以在不关机的情况下运行,且只传输变化过的文件,适合作为日常增量备份工具
- NFS 永久挂载必须写入
/etc/fstab,并使用_netdev参数防止开机时因网络未就绪而卡死 - 备份脚本若不加挂载点检查,NAS 掉线时 rsync 会将数据写入本地挂载点目录,导致硬盘迅速爆满
- Docker 卷(Volumes)默认存储路径为
/var/lib/docker/volumes,是备份的核心数据 - 数据库类容器(MySQL)备份应先用
mysqldump导出 SQL 文件再 rsync,避免二进制文件损坏 - rsync 返回码 23 或 24 表示部分文件因权限或消失未传输,这在运行中的系统上属于正常情况
- 使用
killall(SIGTERM)优雅停止 rsync 比kill -9(SIGKILL)更安全,可防止临时文件残留
Key Quotes
"不要直接在命令行输入长命令,建议创建一个专门的脚本。" — 备份脚本管理最佳实践 "
_netdev:告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死。" — /etc/fstab NFS 挂载参数说明 "rsync 返回 23 表示部分文件由于权限或消失未传输,这在备份正在运行的系统时常见。" — 错误码处理说明
Key Concepts
- Rsync-Incremental-Backup:rsync 通过其 delta-transfer 算法,只发送源文件和目标文件之间的差异部分,实现高效的增量备份;常用参数
-azR --delete(归档、压缩、保持相对路径、删除目标端多余文件) - NFS-Permanent-Mount:NFS 挂载通过
/etc/fstab实现永久化,关键参数包括timeo=900(90秒超时)、retrans=5(5次重试)、_netdev(等待网络就绪);测试前必须用sudo mount -a验证,禁止直接重启 - Docker-Volume-Backup:Docker 卷默认存储在
/var/lib/docker/volumes,备份时对数据库容器应先用docker exec <容器> mysqldump导出再做 rsync,避免二进制文件损坏 - Fstab:Linux 文件系统表(/etc/fstab),用于定义开机自动挂载的设备和参数;修改后必须用
mount -a测试,禁止直接重启 - Backup-Strategy:双层备份体系——Clonezilla 全盘镜像(应对硬盘彻底损坏)+ rsync 增量备份(应对日常文件丢失)
Key Entities
- Clonezilla:用于整机镜像备份的工具,与 rsync 形成互补(全量 vs 增量)
- Synology-NAS:NAS 存储设备,提供 NFS 共享作为 rsync 备份目标
- Ubuntu-Server:运行 rsync 备份脚本的操作系统环境
- Docker:容器化平台,其 volumes 和配置文件是备份的核心数据
- NFS:网络文件系统协议,用于 Ubuntu Server 挂载 Synology NAS 共享目录
Connections
- Clonezilla对Ubuntu Server进行全盘镜像备份 ← backup_strategy ← Ubuntu服务器通过rsync实现日常增量备份
- 如何在Ubuntu Server上通过NFS挂载Synology NAS上的共享文件夹 ← foundation ← Ubuntu服务器通过rsync实现日常增量备份
- Docker ← backup_target ← Ubuntu服务器通过rsync实现日常增量备份
- Synology-NAS ← backup_destination ← Ubuntu服务器通过rsync实现日常增量备份
Contradictions
- 无已知冲突