Debian环境下备份与恢复的常用方法
tar命令(全量/增量备份):
适用于系统或目录的完整备份,通过--exclude排除无需备份的系统目录(如/proc、/sys),并可通过cron定时执行。
全量备份命令:sudo tar -czvf /backup/backup-$(date +%Y-%m-%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/lostfound /
增量备份技巧:结合tar -g创建快照文件,后续备份仅同步变化部分(需提前创建初始快照)。
rsync命令(增量/远程备份):
高效同步本地或远程目录,仅传输变化文件,节省时间和存储空间。
本地增量备份:sudo rsync -avz --delete /path/to/source/ /path/to/destination/(--delete同步删除目标端多余文件)
远程备份:rsync -avz -e ssh /path/to/source/ user@remote:/path/to/destination/(需配置SSH免密登录)。
duplicity命令(加密增量备份):
提供加密功能(支持GPG密钥),适合敏感数据备份,支持远程存储(如SSH、S3)。
全量备份+增量备份命令:sudo duplicity --full-if-older-than 1M /path/to/source/ file:///backup/destination/(--full-if-older-than设置全备周期,如1个月)。
Timeshift:
适用于桌面用户,支持系统快照(基于rsync或btrfs),可定时备份并恢复到指定快照点。
安装与使用:sudo apt install timeshift,打开工具后选择备份目录(如外接U盘)和备份类型(RSYNC推荐),点击“创建”即可。恢复时选择对应快照点,跟随向导操作。
Clonezilla:
开源磁盘克隆工具,支持完整系统镜像备份(包括引导分区),适合批量部署或灾难恢复。
使用步骤:从官网下载ISO镜像,刻录到U盘启动;选择“设备-镜像”模式,备份源磁盘到外部存储(如外接硬盘);恢复时选择镜像文件还原到目标磁盘。
Backup Ninja:
轻量级备份管理工具,支持定制备份计划(如每日/每周)、远程存储(SSH/SFTP)及数据库备份(MySQL/MariaDB)。
配置示例:sudo apt install backupninja,通过ninja-config创建备份任务(如备份/etc目录到远程服务器),定时执行ninja-backup命令。
tar命令恢复:
将备份的tar.gz文件解压到系统根目录(需用Live CD/USB或单用户模式,避免文件占用)。
命令示例:sudo tar -xzvf /backup/backup-2025-11-01.tar.gz -C /(-C指定解压目标目录)。
rsync命令恢复:
将备份目录同步回原路径,恢复丢失或修改的文件。
命令示例:sudo rsync -avz /backup/destination/ /path/to/source/(方向与备份相反)。
duplicity恢复:
从加密备份中还原数据,支持指定恢复时间点(如--restore-time)。
命令示例:sudo duplicity file:///backup/destination/ /path/to/restore/(恢复到指定目录)。
Timeshift恢复:
启动Timeshift,选择“恢复”模式,浏览备份点列表,选择需要恢复的时间点(如3天前),点击“恢复”即可。恢复过程会覆盖目标文件,建议提前备份当前数据。
Clonezilla恢复:
从Clonezilla启动盘启动,选择“设备-镜像”模式,加载之前创建的镜像文件,选择目标磁盘还原。恢复完成后重启系统。
GRUB引导恢复:
若系统无法启动,可使用Live CD/USB进入终端,挂载系统分区(如/dev/sda1到/mnt),重新安装GRUB:
sudo mount /dev/sda1 /mnt;sudo grub-install --root-directory=/mnt /dev/sda;sudo update-grub。
文件系统修复:
使用fsck命令修复损坏的文件系统(需从Live CD/USB启动,卸载目标分区):
sudo fsck -y /dev/sda1(-y自动修复错误)。