主题
备份与恢复
在生产环境中,数据备份与恢复是系统运维中最关键的部分之一。
无论是系统更新、配置更改还是迁移操作,可靠的备份机制都是确保安全的前提。
一、备份策略概述
备份可以分为以下几种类型:
| 类型 | 内容 | 说明 |
|---|---|---|
| 完整备份 | 所有数据 | 占用空间大,但恢复最快 |
| 增量备份 | 自上次备份以来更改的数据 | 节省空间与时间 |
| 差异备份 | 自上次完整备份以来更改的数据 | 中间方案 |
| 系统镜像备份 | 包含整个系统 | 用于灾难恢复或迁移 |
推荐策略:
- 每周进行一次完整备份;
- 每天执行一次增量备份;
- 将备份存储在远程或外部设备上。
二、使用 tar 进行简单备份
最基础的方式是使用 tar 命令打包备份。
1. 备份目录
bash
sudo tar -czvf /backup/etc-backup-$(date +%F).tar.gz /etc2. 备份整个系统(排除无关目录)
bash
sudo tar -czvf /backup/system-backup-$(date +%F).tar.gz \
--exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp \
--exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found \
/3. 解压恢复
bash
sudo tar -xzvf /backup/system-backup-2025-10-20.tar.gz -C /三、使用 rsync 增量备份
rsync 是 Linux 中最常用的增量备份工具。
1. 本地目录同步
bash
rsync -av --delete /home/ /backup/home/2. 远程服务器备份
bash
rsync -avz --delete /var/www/ [email protected]:/backup/web/3. 定时自动备份(crontab)
bash
sudo crontab -e添加任务:
bash
0 3 * * * rsync -av --delete /etc/ /backup/etc/表示每天凌晨 3 点执行一次备份。
四、使用 Timeshift(系统快照工具)
Timeshift 是一个类似 Windows “系统还原”的工具,支持 Btrfs 与 RSYNC 模式。
1. 安装 Timeshift
bash
sudo dnf install -y timeshift2. 创建快照
bash
sudo timeshift --create --comments "Before kernel update"3. 列出快照
bash
sudo timeshift --list4. 恢复快照
bash
sudo timeshift --restore五、数据库备份(MySQL / PostgreSQL)
MySQL
bash
mysqldump -u root -p mydatabase > /backup/mydatabase.sql恢复:
bash
mysql -u root -p mydatabase < /backup/mydatabase.sqlPostgreSQL
bash
pg_dump mydatabase > /backup/mydatabase.sql恢复:
bash
psql mydatabase < /backup/mydatabase.sql六、系统镜像备份(Clonezilla)
Clonezilla 是一个磁盘级备份与还原工具,适合整机迁移。
- 下载并制作 Clonezilla 启动盘;
- 启动系统后选择
device-image模式; - 将系统分区克隆到外部硬盘;
- 需要恢复时选择“Restore Disk”选项。
七、备份自动化与远程存储
可以使用 rclone 将备份上传到云端:
bash
rclone sync /backup remote:rocky-backup支持平台:Google Drive、OneDrive、S3、Aliyun OSS 等。
八、备份与恢复最佳实践
| 场景 | 推荐方案 |
|---|---|
| 系统更新前 | Timeshift 快照或 tar 完整备份 |
| 网站/数据库服务器 | rsync + MySQL/PostgreSQL dump |
| 定期备份 | cron + rsync 自动任务 |
| 云端存储 | rclone 同步到远程 |
| 灾难恢复 | Clonezilla 镜像还原 |
九、总结
tar适合简单备份;rsync适合增量与自动化;Timeshift适合系统级回滚;Clonezilla适合完整系统迁移;- 建议结合多种方式保障安全。
💡 提示:在执行系统更新或数据库迁移前,务必先创建快照或完整备份,以便快速回滚。