# 完整系统备份(排除不需要的目录)
sudo tar -cvpzf /backup/backup.tar.gz --exclude=/backup --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/dev --exclude=/sys --exclude=/run /
# 增量备份到外部存储
sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/backup/
# 备份整个磁盘到镜像文件
sudo dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
# 从Live CD/USB启动后
mkdir /mnt/sysroot
mount /dev/sda1 /mnt/sysroot
tar -xvpzf /path/to/backup.tar.gz -C /mnt/sysroot --numeric-owner
# 从Live环境
rsync -aAXv /mnt/backup/ /mnt/sysroot/
# 警告: 这会覆盖目标磁盘所有数据
dd if=/path/to/backup.img of=/dev/sda bs=4M status=progress
# 编辑crontab
sudo crontab -e
# 添加每周日凌晨3点备份
0 3 * * 0 /path/to/backup_script.sh
#!/bin/bash
# 定义变量
BACKUP_DIR="/backup"
DATE=$(date +%Y-%m-%d)
LOG_FILE="/var/log/backup.log"
# 创建备份目录
mkdir -p $BACKUP_DIR/$DATE
# 执行备份
echo "$(date) - 开始备份" >> $LOG_FILE
tar -cvpzf $BACKUP_DIR/$DATE/backup.tar.gz \
--exclude=/backup \
--exclude=/proc \
--exclude=/tmp \
--exclude=/mnt \
--exclude=/dev \
--exclude=/sys \
--exclude=/run \
/ >> $LOG_FILE 2>&1
echo "$(date) - 备份完成" >> $LOG_FILE
通过合理选择备份策略和工具,可以确保Linux系统在出现故障时能够快速恢复。