CentOS 7 系统备份和恢复

以下是备份和恢复 CentOS 7 系统的分步指南:


一、备份方法

1. 文件级备份(关键数据)

适用于备份 /home/etc/var 等重要目录。

(1) 使用 rsync(增量备份)
# 安装 rsync(如果未预装)
sudo yum install rsync

# 同步备份(示例:备份到外部磁盘)
rsync -av --delete /path/to/source /path/to/backup
  • -av:归档模式,保留权限和属性。
  • --delete:删除目标目录中源目录不存在的文件。
  • 示例:rsync -av --delete /home /mnt/backup/
(2) 使用 tar(压缩打包)
sudo tar -cvpzf backup-$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/tmp --exclude=/mnt --exclude=/dev /
  • -p:保留文件权限。
  • --exclude:排除非必要目录(如虚拟文件系统)。
  • 压缩文件需存储到外部设备或远程位置。

2. 系统级备份(完整克隆)
(1) 使用 dd(全盘克隆)
sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress
  • 适用场景:完全相同的硬件环境恢复。
  • 警告dd 会覆盖目标设备,务必确认 if(输入)和 of(输出)参数正确!
(2) 使用 Clonezilla(推荐)
  1. 下载 Clonezilla ISO 并制作启动盘。
  2. 启动 Clonezilla 选择“设备到镜像”模式。
  3. 按向导备份整个磁盘或分区到外部存储。
  4. 优点:支持增量备份、加密和网络存储。

3. 自动化备份工具
(1) 使用 cron 定时任务

编写备份脚本(示例保存为 /scripts/backup.sh):

#!/bin/bash
tar -cvpzf /backup/backup-$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/tmp /

赋予执行权限并添加定时任务:

chmod +x /scripts/backup.sh
crontab -e
# 每天凌晨3点执行备份
0 3 * * * /scripts/backup.sh
(2) 远程备份工具(rsync + SSH)
rsync -avz -e ssh /path/to/source user@remote_host:/path/to/backup
  • 需配置 SSH 免密登录(使用 ssh-keygen 生成密钥对)。

二、恢复方法

1. 文件级恢复
(1) 解压 tar 备份
sudo tar -xvpzf backup.tar.gz -C /
  • -C /:指定解压到根目录(覆盖现有文件需谨慎)。
(2) 使用 rsync 还原
rsync -av /path/to/backup /path/to/restore

2. 系统级恢复
(1) 使用 dd 镜像恢复
sudo dd if=/path/to/backup.img of=/dev/sdX bs=4M status=progress
  • 场景:硬盘损坏后替换新磁盘。
(2) 使用 Clonezilla 恢复
  1. 启动 Clonezilla 选择“镜像到设备”。
  2. 选择备份的镜像文件并还原到目标磁盘。
  3. 注意:目标磁盘容量需大于或等于原磁盘。

3. 通过救援模式恢复(系统无法启动时)
  1. 启动救援模式
    • 使用 CentOS 7 安装光盘/USB,启动后选择 Troubleshooting > Rescue a CentOS system
  2. 挂载原系统分区
    chroot /mnt/sysimage  # 自动挂载原系统到 /mnt/sysimage
    
  3. 执行恢复操作
    • 解压备份文件:tar -xvpzf /mnt/backup/backup.tar.gz -C /
    • 或使用 rsync 还原数据。
  4. 重建引导程序
    grub2-install /dev/sdX    # 安装 GRUB 到磁盘
    grub2-mkconfig -o /boot/grub2/grub.cfg  # 更新配置文件
    

三、注意事项

  1. 备份验证
    • 定期检查备份文件是否完整(如 tar -tvf backup.tar.gz)。
  2. 存储安全
    • 加密备份文件(使用 gpgopenssl):
      openssl enc -aes-256-cbc -salt -in backup.tar.gz -out backup.tar.gz.enc
      
    • 多设备存储:本地硬盘 + 远程服务器(如 NAS、AWS S3)。
  3. LVM 处理
    • 若系统使用 LVM,备份前需确保逻辑卷的一致性:
      sudo lvcreate -s -n lv_snapshot -L 10G /dev/vg00/lv_root
      
  4. 数据库服务备份
    • 停止服务或使用热备份工具(如 mysqldump for MySQL)。

四、推荐方案

  • 个人/小型服务器
    tar 每周全量备份 + rsync 每日增量备份到外部磁盘。
  • 企业生产环境
    Clonezilla 全盘镜像 + 远程 rsync 同步关键数据。
  • 云服务器
    结合云厂商快照功能(如 AWS EBS Snapshot)和脚本备份。

通过以上方法,您可以在 CentOS 7 系统崩溃或数据丢失时快速恢复,确保业务连续性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值