Debian下文件备份与恢复实用技巧
tar是Debian下最基础的归档工具,适合备份单个目录或整个系统。通过-czvf参数可将文件打包并压缩(gzip格式),--exclude参数用于排除无需备份的系统目录(如/proc、/sys),避免备份无效数据。
示例(备份根目录到/backup目录,文件名包含日期):
sudo tar -czvf /backup/full-backup-$(date +%Y-%m-%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp --exclude=/run --exclude=/lostfound /
此命令会生成类似full-backup-2025-10-10.tar.gz的压缩包,便于后续识别和管理。
rsync是高效的文件同步工具,仅传输源与目标之间的差异部分,节省时间和存储空间。适合定期备份用户数据(如/home)或同步到远程服务器(通过SSH)。
示例(本地增量备份,删除目标中多余的文件):
rsync -av --delete /path/to/source/ /path/to/destination/
示例(同步到远程服务器):
rsync -avz -e ssh /path/to/source/ user@remote:/path/to/destination/
-a参数表示归档模式(保留权限、时间戳等),-v显示详细过程,--delete确保目标与源一致。
duplicity支持加密和增量备份,适合备份敏感数据到远程存储(如SFTP、云存储)。加密功能可防止数据泄露,增量备份减少存储占用。
安装:sudo apt-get install duplicity
示例(全量备份,超过1MB的文件才做全量):
duplicity --full-if-older-than 1M /path/to/source file:///backup/destination
示例(恢复到指定目录):
duplicity file:///backup/destination /path/to/restore
--full-if-older-than参数控制全量备份频率,file://表示本地存储,可替换为sftp://、s3://等。
Clonezilla是开源磁盘克隆工具,适合备份整个系统(包括引导分区、文件系统),可实现系统快速恢复(如硬件故障时)。
操作步骤:
/dev/sda)和目标存储(如外接USB);.img或.img.gz镜像文件)。通过cron设置定时任务,实现每日/每周自动备份,避免手动操作遗漏。
示例(每天凌晨2点备份/home到/backup目录):
编辑cron表:crontab -e,添加以下内容:
0 2 * * * tar -czvf /backup/home-backup-$(date +\%Y-\%m-\%d).tar.gz --exclude=/home/lost+found /home
%需转义为\%,避免cron解析错误。定期检查备份日志(如/var/log/syslog),确保备份成功。
tar解压到目标目录(如根目录/)。sudo tar -xzvf /backup/full-backup-2025-10-10.tar.gz -C /rsync将备份目录同步回原位置(如/home)。rsync -avz /backup/home/ /home/extundelete支持恢复ext3/ext4文件系统中误删除的文件或目录,成功率取决于删除后是否写入新数据(未写入则成功率较高)。
安装:sudo apt-get install extundelete
示例(恢复单个文件):
sudo extundelete /dev/sda1 --restore-file /home/user/document.txt
示例(恢复整个目录):
sudo extundelete /dev/sda1 --restore-directory /home/user/documents
/dev/sda1是目标分区(需替换为实际分区,如/dev/sda2),--restore-file指定文件路径,--restore-directory指定目录路径。
TestDisk用于恢复丢失或损坏的分区表(如误删除分区、分区表损坏),适合无法进入系统的情况。
安装与操作:
sudo apt-get install testdisk;sudo testdisk;/dev/sda);P键查看文件,按C键复制到安全位置(如外接USB)。PhotoRec是TestDisk的姊妹工具,专注于恢复丢失的文件(如文档、图片、视频),不依赖文件系统(适合文件系统损坏或分区丢失的情况)。
安装与操作:
sudo apt-get install photorec;sudo photorec /dev/sda1(目标分区);/recovery),程序会自动恢复所有可识别的文件(按文件头信息判断,如.jpg、.docx)。若文件系统出现错误(如无法挂载、提示“文件系统损坏”),可用fsck修复。需从Live CD/USB启动(避免修复正在使用的文件系统)。
操作步骤:
sudo fsck -fy /dev/sda1(/dev/sda1为目标分区,如/dev/sda2);-f强制检查,-y自动修复错误;