Debian 数据备份与恢复实用指南
一 备份策略与准备
二 常用方法与命令
文件与目录归档(tar)
sudo tar -czvf /backup/backup-$(date +%F).tar.gz \
--exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp \
--exclude=/run --exclude=/mnt --exclude=/media --exclude=/lost+found \
/
sudo tar -xzvf /backup/backup-2025-11-15.tar.gz -C /
目录同步与增量(rsync)
sudo rsync -aAXv --delete /path/to/source/ /path/to/backup/
# 或到远程
sudo rsync -aAXv --delete /path/to/source/ user@remote:/path/to/backup/
sudo rsync -av /backup/ /path/to/destination/
系统快照(Timeshift)
sudo apt update && sudo apt install timeshift
sudo timeshift-launcher # 或 sudo timeshift --create
sudo timeshift --restore。加密增量备份(Duplicity)
sudo apt-get install duplicity
duplicity --full-if-older-than 1M /path/to/source file:///backup/destination
duplicity file:///backup/destination /path/to/restore
磁盘/分区镜像(dd)
sudo dd if=/dev/sda of=/backup/sda-$(date +%F).img bs=4M status=progress
sudo dd if=/backup/sda-2025-11-15.img of=/dev/sda bs=4M status=progress
离线整机克隆(Clonezilla)
三 自动化与异地备份
#!/usr/bin/env bash
set -e
SRC="/home /etc /var/www"
DST="/backup/$(hostname)-$(date +%F)"
mkdir -p "$DST"
# 全量 tar
tar -czvf "$DST/full-$(date +%F).tar.gz" --exclude=/proc --exclude=/sys \
--exclude=/dev --exclude=/tmp --exclude=/run --exclude=/mnt \
--exclude=/media --exclude=/lost+found $SRC
# 增量 rsync
rsync -aAXv --delete $SRC "$DST/rsync-incremental/"
echo "Backup finished at $(date)"
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
0 3 * * 0 /usr/local/bin/backup_tar.sh >> /var/log/backup_tar.log 2>&1
四 恢复步骤与注意事项
--numeric-owner 保持 UID/GID。timeshift --restore 中按向导回滚到指定快照。