CentOS 5 系统的备份与恢复

以下是针对 CentOS 5 系统的备份与恢复详细指南,适配其老旧环境和依赖:


一、备份方法

1. 使用 tar 备份关键目录

适用场景:手动备份系统配置和用户数据,兼容性强。
步骤

# 切换到根目录
cd /

# 创建压缩备份文件(排除临时文件系统)
sudo tar cvpzf /path/to/backup/centos5-backup-$(date +%Y%m%d).tar.gz \
--exclude=/proc --exclude=/sys --exclude=/dev \
--exclude=/tmp --exclude=/media --exclude=/mnt \
--exclude=/lost+found --exclude=/selinux / 

说明

  • CentOS 5 默认无 /run 目录(排除 /sys, /dev 等即可)。
  • --exclude=/selinux:避免备份 SELinux 上下文问题(如恢复后策略冲突)。

备份软件包列表

# 导出已安装的 RPM 包列表
rpm -qa > ~/rpm-package-list.txt

2. 使用 rsync 增量备份

适用场景:定期同步数据,支持增量备份。
命令

# 同步至备份目录(排除动态文件)
sudo rsync -aAXv --delete \
--exclude={"/proc/*","/sys/*","/dev/*","/tmp/*","/lost+found"} \
/ /path/to/backup/

选项说明

  • -aAXv:保留权限、ACL、扩展属性等。
  • --delete:保持备份与源目录严格一致。

3. 使用 dd 完整磁盘备份

适用场景:克隆磁盘/分区(需大存储空间)。
示例

# 备份整块磁盘(如 /dev/sda)
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M conv=noerror,sync

# 备份单分区(如 /dev/sda1)
sudo dd if=/dev/sda1 of=/path/to/backup-sda1.img bs=4M

注意事项

  • conv=noerror,sync:忽略磁盘错误并填充对齐块。
  • 恢复时反向操作:dd if=backup.img of=/dev/sda

二、恢复方法

tar 备份恢复

前提:目标硬盘已分区并挂载至 /mnt(例如使用 Live CD)。
步骤

  1. 挂载目标分区并解压备份:

    sudo mount /dev/sda1 /mnt  # 假设根分区为 /dev/sda1
    sudo tar xvpzf /path/to/backup.tar.gz -C /mnt --numeric-owner
    
  2. 重建排除的目录:

    sudo mkdir /mnt/{proc,sys,dev,tmp}
    
  3. 修复引导(Legacy BIOS + GRUB)

    • 使用 Live CD 启动后挂载原系统:
      sudo chroot /mnt
      grub  # 进入 GRUB 命令行环境
      root (hd0,0)  # 根据实际分区调整(例如 /dev/sda1 对应 hd0,0)
      setup (hd0)
      quit
      
    • 退出并重启:
      exit
      reboot
      
  4. 恢复软件包依赖

    # 导入 RPM 列表并批量安装
    sudo yum clean all
    sudo yum install -y $(cat ~/rpm-package-list.txt)
    

dd 镜像恢复
  1. 写入镜像至磁盘:
    sudo dd if=/path/to/backup.img of=/dev/sda bs=4M
    
  2. 扩展文件系统(若分区大小变化):
    sudo resize2fs /dev/sda1  # 仅限 ext2/3/4 文件系统
    

三、注意事项

  1. 老旧系统兼容性

    • CentOS 5 仅支持 Legacy BIOS,若恢复至 UEFI 设备需调整分区类型。
    • 内核与驱动:恢复至不同硬件可能导致启动失败(需手动安装驱动或更新内核)。
  2. 数据一致性

    • 备份前停止 MySQL、PostgreSQL 等服务,避免数据损坏。
    • 使用 LVM 快照(如需要):
      sudo lvcreate --snapshot -L 1G -n snap_root /dev/VolGroup/lv_root
      sudo mount /dev/VolGroup/snap_root /mnt/snapshot
      # 备份 /mnt/snapshot 下的数据后删除快照
      sudo lvremove /dev/VolGroup/snap_root
      
  3. 备份验证

    • 检查 tar 备份内容:tar -tzvf backup.tar.gz | less
    • 确保 rpm-package-list.txt 完整可用。
  4. 替代工具

    • Clonezilla:适用于全盘克隆(需外置 USB 引导)。
    • Amanda:企业级备份工具(需手动配置源)。

四、快速命令总结

# 备份系统关键文件
sudo tar cvpzf centos5-backup.tar.gz --exclude=/proc --exclude=/sys ...

# 恢复时解压
sudo tar xvpzf centos5-backup.tar.gz -C /mnt

# 导出和恢复 RPM 包列表
rpm -qa > rpm-list.txt
sudo yum install -y $(cat rpm-list.txt)

五、故障排查

  • 系统无法启动

    • 检查 /boot/grub/grub.conf 是否匹配分区 UUID。
    • 使用 Live CD 修复 GRUB:grub-install --root-directory=/mnt /dev/sda
  • 软件包依赖冲突

    • 使用 rpm -ivh --replacepkgs 强制覆盖安装。

通过以上方法,可在 CentOS 5 系统上实现可靠的备份与恢复。建议优先使用 tarrsync 备份关键数据,结合定期测试确保恢复流程有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值