CentOS 8 系统备份和恢复

以下是备份和恢复 CentOS 8 系统的详细步骤,结合命令行工具和常用方案:


一、备份方法

1. 完整系统备份(推荐工具 tarrsync

适用场景:系统文件和配置的完整备份(需临时停止服务)。
示例(使用 tar

sudo tar --exclude=/backup \          # 排除备份目录本身
         --exclude=/proc \
         --exclude=/sys \
         --exclude=/dev \
         --exclude=/tmp \
         --exclude=/run \
         --exclude=/mnt \
         --exclude=/media \
         -cvpzf /backup/centos8_full_$(date +%Y%m%d).tar.gz /
2. LVM 快照备份(避免停机)

适用场景:动态备份正在运行的系统(需 LVM 分区)。
步骤

  1. 创建 LVM 快照(假设根卷为 centos/root):
    sudo lvcreate -s -n root_snapshot -L 10G /dev/centos/root  # 分配 10GB 空间
    
  2. 挂载快照并备份:
    sudo mount /dev/centos/root_snapshot /mnt/snapshot
    sudo rsync -aAXv /mnt/snapshot/ /backup/centos8_backup/
    
  3. 删除快照:
    sudo umount /mnt/snapshot
    sudo lvremove /dev/centos/root_snapshot
    
3. 使用 REAR(Relax-and-Recover)

适用场景:企业级灾难恢复(支持 ISO 镜像生成)。
步骤

  1. 安装并配置:
    sudo dnf install epel-release
    sudo dnf install rear
    
  2. 编辑配置文件 /etc/rear/local.conf
    OUTPUT=ISO
    BACKUP=NETFS
    BACKUP_URL=file:///backup
    
  3. 生成恢复镜像:
    sudo rear mkbackup  # 生成 ISO 和备份到 /backup
    
4. 用户数据备份(rsync

适用场景:仅备份 /home/var 等关键数据。
示例

sudo rsync -aAXv --delete /home /var /backup/userdata_$(date +%F)
5. 数据库备份(如 MySQL/PostgreSQL)

MySQL:

sudo mysqldump -u root -p --all-databases > /backup/mysql_full_$(date +%F).sql

PostgreSQL:

sudo pg_dumpall -U postgres > /backup/pgsql_full_$(date +%F).sql

二、恢复方法

1. 从 tar 备份恢复

前提:已通过 Live CD/USB 启动并挂载原系统分区。
步骤

  1. 挂载根分区(假设为 /dev/mapper/centos-root):
    sudo mount /dev/mapper/centos-root /mnt
    
  2. 解压备份:
    sudo tar -xvpzf /path/to/backup.tar.gz -C /mnt --numeric-owner
    
  3. 修复引导:
    sudo chroot /mnt
    grub2-install /dev/sda
    grub2-mkconfig -o /boot/grub2/grub.cfg
    exit
    
2. 使用 REAR 恢复
  1. 启动 REAR 生成的 ISO 镜像。
  2. 进入恢复模式后执行:
    rear recover  # 按提示选择备份和恢复目标磁盘
    
3. 从 rsync 备份恢复用户数据
sudo rsync -aAXv /backup/userdata/ /home/

三、关键注意事项

  1. 备份验证

    tar -tvzf backup.tar.gz         # 检查 tar 备份文件列表
    rsync -n -aAXv /backup/ /dummy # 模拟 rsync 恢复(测试一致性)
    
  2. LVM 快照空间

    • 快照空间需足够容纳备份期间的写入数据,避免快照溢出。
  3. 数据库一致性

    • 备份前锁定数据库或启用事务日志(如 MySQL 的 --single-transaction)。
  4. 定时任务(cron)
    设置每周全量备份 + 每日增量备份:

    # 全量备份(每周日)
    0 2 * * 0 tar -cvpzf /backup/full_$(date +\%F).tar.gz ...
    
    # 增量备份(每日凌晨)
    0 2 * * 1-6 rsync -aAX --link-dest=/backup/full_latest / /backup/incr_$(date +\%F)
    

四、总结方案选择

场景推荐工具/方法优势
系统级完整备份tar + rsync灵活可控
在线动态备份LVM 快照零停机时间
企业级灾难恢复REAR自动生成可引导 ISO + 全盘恢复
用户数据备份rsync支持增量备份
数据库备份mysqldump/pgdump保证事务一致性

五、补充说明

  • CentOS 8 终止支持提醒
    CentOS 8 已于 2021 年底停止维护,建议迁移到替代系统(如 CentOS Stream、AlmaLinux 或 Rocky Linux),并在迁移前做好完整备份。

  • 云环境备份
    若系统运行在云平台(如 AWS/Azure),可结合云厂商的快照功能(如 AWS EBS Snapshot)实现自动化备份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值