VirtualBox虚拟机中CentOS系统的备份与恢复方法
快照是VirtualBox提供的轻量级备份工具,可快速记录虚拟机当前状态(包括系统、数据、配置),恢复时无需重新安装系统。
.vdi格式);右键点击虚拟硬盘→ 选择“创建快照”→ 输入快照名称(如“2025-11-07-初始状态”)及描述(可选)→ 点击“创建”。导出虚拟机可将整个系统(包括虚拟硬件配置、CentOS操作系统、数据)打包为OVF/OVA文件,便于在其他VirtualBox环境或兼容虚拟化平台(如VMware)中恢复。
虚拟硬盘镜像是CentOS系统的底层存储文件(如.vdi),直接备份该文件可完整保存系统所有数据,适合需要离线存储的场景。
CentOS.vdi);右键点击虚拟硬盘→ 选择“复制”→ 在弹出的窗口中设置备份位置(如外部硬盘、云存储)→ 输入备份文件名(如“CentOS_backup_20251107.vdi”)→ 点击“复制”。命令行工具可实现增量备份(仅备份修改的文件)、自动化(通过定时任务定期执行),适合有经验的用户。
/mnt/backup)→ 执行tar命令(排除临时文件、设备文件等):mkdir -p /mnt/backup && tar czvf /mnt/backup/centos_backup_$(date +%Y%m%d_%H%M%S).tar.gz --exclude=/dev/* --exclude=/proc/* --exclude=/sys/* --exclude=/tmp/* --exclude=/run/* --exclude=/mnt/* --exclude=/media/* --exclude=/lostfound /--exclude参数用于排除无需备份的目录,减少备份文件大小。)sudo yum install rsync -y;编写备份脚本(如/home/user/backup.sh):#!/bin/bash
SOURCE_DIR="/home/user/important_data" # 需备份的数据目录
BACKUP_DIR="/mnt/backup/important_data" # 备份目标目录
LOG_FILE="/mnt/backup/backup.log" # 日志文件
rsync -avz --delete "$SOURCE_DIR" "$BACKUP_DIR" # -a:归档模式;-v:显示详细信息;-z:压缩传输;--delete:删除目标目录中源目录不存在的文件
echo "$(date '+%Y-%m-%d %H:%M:%S') Backup completed: $SOURCE_DIR → $BACKUP_DIR" >> "$LOG_FILE"
赋予脚本执行权限:chmod +x /home/user/backup.sh;设置定时任务(每天凌晨1点执行):echo '0 1 * * * /home/user/backup.sh' | crontab -。若已创建快照,可通过快照快速恢复系统到创建快照时的状态,无需重新配置系统。
若虚拟机已导出为OVF/OVA文件,可通过导入功能恢复系统到新的虚拟机中。
若备份了虚拟硬盘镜像(如.vdi文件),可直接替换当前虚拟机的虚拟硬盘,恢复系统数据。
CentOS.vdi)→ 右键点击虚拟硬盘→ 选择“移除”(注意:此操作不会删除原虚拟硬盘文件);点击“存储树”中的“控制器:SATA”→ 点击“添加硬盘”→ 选择“选择现有硬盘”→ 浏览到备份的虚拟硬盘文件(如CentOS_backup_20251107.vdi)→ 点击“打开”→ 点击“确定”。启动虚拟机即可恢复系统。若使用命令行工具备份,可通过相应命令恢复数据。
/mnt/backup)→ 执行tar命令(解压到系统根目录):tar xzvf centos_backup_20251107.tar.gz -C /rsync命令(将备份目录同步到原数据目录):rsync -avz /mnt/backup/important_data/ /home/user/important_data//mnt/backup/important_data/为备份目录,/home/user/important_data/为原数据目录。)