温馨提示×

如何在CentOS上备份和恢复数据

小樊
57
2025-10-01 00:39:34
栏目: 智能运维

一、常用备份方法

1. tar命令(全量备份/恢复)

tar是CentOS内置的归档工具,适合备份整个系统或特定目录,支持gzip压缩以节省空间。

  • 备份命令
    sudo tar cvpzf /backup/system_backup_$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/dev /
    
    说明:c创建归档、v显示详细过程、z用gzip压缩、p保留权限;--exclude排除无需备份的目录(如虚拟文件系统、临时文件)。
  • 恢复命令
    sudo tar xvpfz /backup/system_backup_$(date +%Y%m%d).tar.gz -C /
    
    说明:x解压、C /指定解压到根目录,恢复后会覆盖原有文件。

2. rsync命令(增量备份/恢复)

rsync是高效的文件同步工具,仅备份变化的文件,适合定期增量备份(如每日增量、每周全量)。

  • 首次全量备份
    rsync -avz --delete /source/directory/ /backup/destination/
    
    说明:a归档模式(保留权限、时间戳等)、v显示详情、z压缩传输、--delete删除目标目录中源目录不存在的文件(保持完全同步)。
  • 后续增量备份
    rsync -avz --delete --link-dest=/backup/destination/latest /source/directory/ /backup/destination/new_backup/
    
    说明:--link-dest指向上次备份目录,相同文件通过硬链接共享,节省空间;备份完成后将new_backup重命名为latest

3. dd命令(磁盘/分区镜像备份/恢复)

dd是底层磁盘工具,适合备份整个磁盘或分区(如系统盘),生成镜像文件可用于灾难恢复(如磁盘损坏)。

  • 备份命令
    sudo dd if=/dev/sda of=/backup/centos_disk.img bs=4M status=progress
    
    说明:if输入文件(源磁盘,如/dev/sda)、of输出文件(镜像路径)、bs块大小(提高速度)、status=progress显示进度。
  • 恢复命令
    sudo dd if=/backup/centos_disk.img of=/dev/sda bs=4M status=progress
    
    注意:dd会覆盖目标磁盘的所有数据,操作前需确认目标设备正确。

4. Clonezilla(磁盘/系统克隆)

Clonezilla是开源磁盘克隆工具,支持备份整个系统到镜像文件或直接克隆到其他磁盘,适合快速恢复系统。

  • 准备工作:下载Clonezilla Live ISO,用Rufus或Etcher写入U盘,制作可启动介质。
  • 备份步骤
    1. 插入U盘,从U盘启动进入Clonezilla Live环境。
    2. 选择“device-image”模式(备份到镜像文件)。
    3. 选择“Local_dev”(本地存储),连接外部硬盘作为备份目标。
    4. 选择“Beginner”模式,勾选“Saveparts”(备份分区表),指定备份文件名(如centos_backup)。
    5. 确认设置后,等待备份完成(时间取决于磁盘大小)。
  • 恢复步骤
    1. 从Clonezilla U盘启动,选择“device-image”模式。
    2. 选择“Local_dev”,加载备份镜像所在的存储设备。
    3. 选择“Restoreparts”(恢复分区),找到对应的备份文件。
    4. 确认目标磁盘(如/dev/sda),开始恢复(恢复后会覆盖目标磁盘的所有数据)。

二、常用恢复方法

1. 从备份文件恢复

  • tar备份恢复:使用tar xvpfz命令解压备份文件到根目录(如/),覆盖原有系统文件。
  • rsync备份恢复:将备份目录中的文件同步到原系统目录(如rsync -av /backup/destination/ /),恢复丢失或修改的文件。
  • dd镜像恢复:用dd命令将镜像文件写入原磁盘(如/dev/sda),恢复整个系统到备份时的状态。

2. 从Clonezilla镜像恢复

使用Clonezilla Live启动,选择“device-image”模式,加载备份镜像文件,选择目标磁盘进行恢复。恢复过程需保持电源稳定,避免中断。

3. 系统救援模式恢复(无法启动时)

若系统无法正常启动,可通过CentOS安装介质(U盘/光盘)进入救援模式:

  1. 插入安装介质,从介质启动,选择“Troubleshooting” > “Rescue a CentOS system”。
  2. 选择“Continue”进入救援环境,系统会挂载原系统的根分区到/mnt/sysimage
  3. 切换到原系统环境:chroot /mnt/sysimage
  4. 挂载必要的文件系统(如/proc/sys/dev):
    mount -t proc proc /proc
    mount -t sysfs sys /sys
    mount -o bind /dev /dev
    
  5. 恢复引导加载器(如GRUB):
    grub2-install /dev/sda
    grub2-mkconfig -o /boot/grub2/grub.cfg
    
  6. 退出救援模式(exit),重启系统(reboot)。

0