温馨提示×

centos stream8备份恢复步骤

小樊
42
2026-01-10 04:08:03
栏目: 智能运维

CentOS Stream 8 备份与恢复步骤

一 适用场景与总体策略

  • 目标:在 CentOS Stream 8 上建立可落地的备份与恢复流程,覆盖系统配置与业务数据,兼顾本地与远程、全量与增量方式。
  • 现状提醒:CentOS Stream 8 已于 2024-05-01 终止维护,官方不再提供 yum 源与安全更新,建议尽快迁移至 CentOS Stream 9 / Rocky Linux / AlmaLinux;在迁移或重大变更前务必先完成备份。

二 本地全量与增量备份

  • 全量打包(适合一次性基线)
    • 建议优先备份对系统身份与运行至关重要的目录:/etc(配置)、/var(日志、包缓存、数据库数据等)。
    • 示例(排除虚拟与临时文件系统,避免递归备份挂载点):
      sudo mkdir -p /backups/centos_stream/$(date +%Y%m%d)
      sudo tar -czvf /backups/centos_stream/$(date +%Y%m%d)/centos_stream_backup.tar.gz \
        --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/tmp \
        --exclude=/mnt --exclude=/media --exclude=/lost+found \
        /etc /var
      
  • 增量同步(适合日常)
    • 使用 rsync 做目录级增量,结合日期目录归档:
      sudo rsync -aAX --info=progress2 \
        --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
        /etc/  /backups/centos_stream/$(date +%Y%m%d)/etc/
      sudo rsync -aAX --info=progress2 \
        --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
        /var/  /backups/centos_stream/$(date +%Y%m%d)/var/
      
    • 说明:选项 -aAX 保留权限、属主、ACL 与扩展属性,适合系统目录。
  • 自动化
    • 将以上命令放入脚本(如 /usr/local/bin/backup_stream8.sh),用 cron 定时执行(示例:每天 02:00):
      0 2 * * * /usr/local/bin/backup_stream8.sh >> /var/log/backup_stream8.log 2>&1
      
  • 数据库与关键服务
    • 关系型数据库(示例):
      mysqldump -u root -p --single-transaction --routines --triggers --databases your_db > /backups/your_db_$(date +%F).sql
      
    • 其他服务(如 PostgreSQL、Redis、Nginx 配置与数据目录)按相同思路纳入备份清单。

三 远程备份与实时同步

  • rsync over SSH(简单可靠)
    rsync -aAX --info=progress2 -e ssh /backups/ user@backup-server:/backup/centos_stream/
    
  • Syncthing(多端实时同步)
    • 安装后修改 /root/.config/syncthing/config.xml,将 127.0.0.1:8384 改为 0.0.0.0:8384 以开放管理界面;重启服务并设为开机自启:
      sudo systemctl restart syncthing@root.service
      sudo systemctl enable syncthing@root.service
      
    • 在 Web 界面添加文件夹与远程设备,选择要同步的系统目录(如 /etc、/var 的业务子目录)。

四 恢复步骤

  • 全量归档恢复(到原系统或新系统)
    • 建议先进入 救援模式/单用户模式 或使用 LiveCD/救援介质,挂载目标根分区到 /mnt,再执行:
      sudo tar -xzvf /backups/centos_stream/YYYYMMDD/centos_stream_backup.tar.gz -C /mnt
      
    • 注意:避免覆盖当前正在写入的目录;恢复后检查 /etc/fstab/bootSELinux 标签与网络配置。
  • 目录级增量恢复(rsync)
    sudo rsync -aAX --info=progress2 /backups/centos_stream/YYYYMMDD/etc/  /mnt/etc/
    sudo rsync -aAX --info=progress2 /backups/centos_stream/YYYYMMDD/var/  /mnt/var/
    
  • 数据库恢复
    mysql -u root -p < /backups/your_db_YYYY-MM-DD.sql
    
  • 验证
    • 核对关键服务状态(如 sshd、nginx、mysqld)、用户与权限、日志与定时任务、以及应用可用性。

五 进阶与注意事项

  • 使用 dump/restore 做分区级备份(适合 ext2/3/4)
    • 安装工具(若仓库不可用,可临时切换到 vault.centos.org 源后安装):
      sudo dnf install -y dump
      
    • 全量备份(层级 0)与增量(层级 1-9):
      sudo dump -0uj -f /opt/boot.bak0.bz2 /boot
      sudo dump -1uj -f /opt/boot.bak1.bz2 /boot
      
    • 恢复(按层级顺序):
      mkdir /opt/boottmp && cd /opt/boottmp
      sudo restore -r -f /opt/boot.bak0.bz2
      sudo restore -r -f /opt/boot.bak1.bz2
      
    • 提示:dump/restore 对目录的增量备份支持有限,通常对分区/文件系统使用更合适。
  • 重要提示
    • 备份前停止大写入业务,避免不一致;恢复后执行 SELinux 恢复上下文sudo restorecon -R /etc /var
    • 定期在隔离环境演练恢复流程,校验 校验和/快照恢复时间目标(RTO)/恢复点目标(RPO)
    • 由于 CentOS Stream 8 已停止维护,完成备份后应尽快规划迁移至 CentOS Stream 9 / Rocky Linux / AlmaLinux,以降低安全风险。

0