教程 rockylinux tutorial

备份与恢复

在生产环境中,数据备份与恢复是系统运维中最关键的部分之一。
无论是系统更新、配置更改还是迁移操作,可靠的备份机制都是确保安全的前提。

一、备份策略概述

备份可以分为以下几种类型:

类型 内容 说明
完整备份 所有数据 占用空间大,但恢复最快
增量备份 自上次备份以来更改的数据 节省空间与时间
差异备份 自上次完整备份以来更改的数据 中间方案
系统镜像备份 包含整个系统 用于灾难恢复或迁移

推荐策略:

  • 每周进行一次完整备份;
  • 每天执行一次增量备份;
  • 将备份存储在远程或外部设备上。

二、使用 tar 进行简单备份

最基础的方式是使用 tar 命令打包备份。

1. 备份目录

bash
sudo tar -czvf /backup/etc-backup-$(date +%F).tar.gz /etc

2. 备份整个系统(排除无关目录)

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 timeshift

2. 创建快照

bash
sudo timeshift --create --comments "Before kernel update"

3. 列出快照

bash
sudo timeshift --list

4. 恢复快照

bash
sudo timeshift --restore

五、数据库备份(MySQL / PostgreSQL)

MySQL

bash
mysqldump -u root -p mydatabase > /backup/mydatabase.sql

恢复:

bash
mysql -u root -p mydatabase < /backup/mydatabase.sql

PostgreSQL

bash
pg_dump mydatabase > /backup/mydatabase.sql

恢复:

bash
psql mydatabase < /backup/mydatabase.sql

六、系统镜像备份(Clonezilla)

Clonezilla 是一个磁盘级备份与还原工具,适合整机迁移。

  1. 下载并制作 Clonezilla 启动盘;
  2. 启动系统后选择 device-image 模式;
  3. 将系统分区克隆到外部硬盘;
  4. 需要恢复时选择“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 适合完整系统迁移;
  • 建议结合多种方式保障安全。

💡 提示:在执行系统更新或数据库迁移前,务必先创建快照或完整备份,以便快速回滚。