Ubuntu虚拟机数据备份实用技巧
sudo apt install timeshift
,选择备份目标(外部存储优先)、备份计划(如每天/每周),采用增量备份(仅备份变化部分)节省空间。支持系统快照恢复,即使系统无法启动,也可通过Live USB启动后运行Timeshift还原。sudo rsync -avz --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*"} / /mnt/backup
(排除虚拟文件系统,备份根目录到外部磁盘)。支持增量备份(仅传输变化文件),可通过cron
设置定时任务(如每天凌晨备份)。sudo tar cvpzf /mnt/backup/home_backup.tgz --exclude=/home/*/.cache /home
(备份/home目录,排除缓存文件)。恢复时用tar xvpzf /mnt/backup/home_backup.tgz -C /home
解压到原位置。sudo dd if=/dev/sda of=/mnt/backup/ubuntu_backup.img bs=4M status=progress
(备份整个系统盘到镜像文件)。适合完整系统恢复,但占用空间大,建议配合压缩(gzip
)使用。duplicity --full-if-older-than 1M /home user@remote:/backup
(每周全量备份/home到远程服务器),恢复用duplicity restore user@remote:/backup /home
。通过cron
设置定时任务,自动执行备份脚本。步骤如下:
/home/user/backup.sh
),内容示例:#!/bin/bash
SOURCE="/home/user/Documents"
BACKUP_DIR="/mnt/backup"
DATE=$(date +"%Y-%m-%d")
tar -czvf "$BACKUP_DIR/docs_$DATE.tar.gz" -C "$SOURCE" .
find "$BACKUP_DIR" -type f -name "*.tar.gz" -mtime +30 -exec rm -f {} \; # 删除30天前的备份
chmod +x /home/user/backup.sh
。cron
任务:crontab -e
,添加行0 2 * * * /home/user/backup.sh
(每天凌晨2点执行)。打开VirtualBox管理器,右击虚拟机→“导出虚拟机”,选择“OVA/OVF”格式,包含虚拟机配置(如CPU、内存)、磁盘镜像(.vmdk)和快照。导出后可将虚拟机复制到其他主机,导入时直接双击OVA文件即可。
终端运行VBoxManage clonehd /path/to/original.vmdk /path/to/backup.vmdk --format VDI
,将原始虚拟磁盘克隆为新文件(支持VDI、VHD等格式),适合单独备份系统盘。
md5sum
)或尝试恢复小部分文件,确保备份可用。