3.3 KiB
3.3 KiB
title, type, tags, date
| title | type | tags | date | ||||
|---|---|---|---|---|---|---|---|
| Ubuntu服务器通过rsync实现日常增量备份 | source |
|
2026-04-14 |
Source File
Summary (用中文描述)
- 核心主题:Ubuntu服务器通过rsync实现日常增量备份到NAS的完整解决方案
- 问题域:数据备份、网络存储挂载、系统容灾恢复
- 方法/机制:rsync自动化脚本 + Cron定时任务 + /etc/fstab永久挂载 + NFS网络文件系统
- 结论/价值:rsync优势在于不关机运行、仅传输变化文件,是构建"工作室级"数据保护体系的最后一步;结合Clonezilla整机镜像实现完整灾备策略
Key Claims (用中文描述)
- rsync通过SSH或不通过SSH方式增量同步数据,仅传输变化的文件,大幅降低带宽和时间成本
- NFS永久挂载必须写入/etc/fstab,并使用_netdev参数确保网络完全启动后才尝试挂载,避免开机卡死
- Docker卷数据备份建议先执行mysqldump导出SQL再rsync同步,直接复制二进制数据库文件可能导致恢复后无法启动
- rsync错误码0/23/24均视为成功(23=部分文件权限问题,24=源文件消失),这些在运行系统备份中属正常情况
- 停止rsync进程应优先使用SIGTERM(killall rsync)而非SIGKILL(killall -9 rsync),防止临时文件残留和数据损坏
Key Quotes
"rsync 的优势在于它可以不关机运行,并且只传输变化过的文件。" — rsync增量备份的核心价值
"_netdev: 关键参数。告诉系统这是一个网络设备,务必等到网络服务完全启动后再尝试挂载,防止开机过程因找不到网络而卡死。" — NFS挂载参数解析
"rsync 返回 23 表示部分文件由于权限或消失未传输,这在备份正在运行的系统时常见。我们重点看是否大部分数据已同步。" — 错误码容错处理原则
Key Concepts
- 增量备份:通过rsync仅同步源端与目标端差异部分,实现高效的日常数据保护
- 永久挂载:通过/etc/fstab配置实现NFS/Samba等网络存储的开机自动挂载
- 挂载点检查:备份脚本执行前验证挂载点有效性,防止数据写入本地磁盘导致硬盘爆满
- Cron定时任务:通过crontab配置凌晨3点自动执行备份,实现无人值守运维
- 进程管理:通过信号(SIGTERM/SIGKILL)控制rsync备份进程的优雅或强制终止
Key Entities
- Docker卷:Docker容器持久化数据存储,默认路径/var/lib/docker/volumes,是TikTok业务数据备份的核心对象
- rsync_backup.sh:自动化备份脚本,含锁文件机制、挂载检查、日志记录、错误容错
Connections
- 增量备份 ← part_of ← Disaster-Recovery
- Docker卷 ← backup_target ← 增量备份
- NFS ← storage_backend ← 永久挂载
- 永久挂载 ← requires ← 挂载点检查
Contradictions
- 无已知冲突
Metadata
- Source type: 运维实践笔记(个人经验总结)
- Prerequisites: NAS已挂载、NFS服务已配置
- Related practices: Clonezilla整机镜像备份(时间点恢复的完整策略)
- Key scripts: /usr/local/bin/rsync_backup.sh
- Schedule: 0 3 * * * (每日凌晨3点)