/etc
(系统配置文件)/home
(用户数据)/var
(日志和数据库)/usr/local
(本地安装软件)/boot
(引导文件)/opt
(可选应用软件)/proc
, /sys
, /dev
(虚拟文件系统)/tmp
(临时文件)tar:经典归档工具
# 完整备份
tar -cvpzf backup.tar.gz --exclude=/backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev /
# 增量备份
tar -cvpzf backup_incremental_$(date +%Y%m%d).tar.gz --listed-incremental=/backup.snar --exclude=/backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/media --exclude=/dev /
rsync:高效文件同步工具
rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /path/to/backup
dd:磁盘/分区级别备份
dd if=/dev/sda of=/path/to/backup.img bs=4M status=progress
BorgBackup:去重加密备份工具
# 初始化仓库
borg init --encryption=repokey /path/to/repo
# 创建备份
borg create /path/to/repo::system-backup-{now} / --exclude /dev --exclude /proc --exclude /sys --exclude /tmp
Timeshift:系统快照工具(适合桌面用户)
sudo timeshift --create --comments "Regular backup" --tags D
Duplicity:加密增量备份工具
duplicity / scp://user@backupserver//backups/system --exclude /proc --exclude /sys --exclude /tmp
# 从tar备份恢复
tar -xvpzf backup.tar.gz -C /path/to/restore --numeric-owner
# 从rsync备份恢复
rsync -aAXv /path/to/backup/ /
bash
chroot /mnt
grub-install /dev/sda
update-grub
dd if=/path/to/backup.img of=/dev/sda bs=4M status=progress
# 编辑crontab
crontab -e
# 添加每日备份任务(示例)
0 2 * * * /usr/bin/tar -cvpzf /backups/system-full-$(date +\%Y\%m\%d).tar.gz --exclude=/backups --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/tmp /
#!/bin/bash
# 定义变量
BACKUP_DIR="/backups"
DATE=$(date +%Y%m%d)
LOG_FILE="$BACKUP_DIR/backup_$DATE.log"
# 创建备份目录
mkdir -p $BACKUP_DIR
# 执行完整备份
echo "Starting full backup at $(date)" >> $LOG_FILE
tar -cvpzf $BACKUP_DIR/full_backup_$DATE.tar.gz \
--exclude=$BACKUP_DIR \
--exclude=/proc \
--exclude=/sys \
--exclude=/dev \
--exclude=/tmp \
--exclude=/run \
--exclude=/mnt \
--exclude=/media \
--exclude=/lost+found \
/ 2>> $LOG_FILE
# 记录完成状态
if [ $? -eq 0 ]; then
echo "Backup completed successfully at $(date)" >> $LOG_FILE
else
echo "Backup failed with error code $? at $(date)" >> $LOG_FILE
fi
定期验证备份:
备份轮转策略:
监控备份作业:
AWS S3备份:
aws s3 sync /path/to/backup s3://your-bucket-name/linux-backups/
Google Cloud Storage:
gsutil rsync -r /path/to/backup gs://your-bucket-name/linux-backups/
Rclone加密备份:
rclone sync /path/to/backup remote:backup --progress --transfers 4
3-2-1备份原则:
加密敏感数据:
# 使用GPG加密备份
tar -cvz /path/to/backup | gpg -c -o backup.tar.gz.gpg
文档化恢复流程:
考虑使用LVM快照:
# 创建LVM快照
lvcreate -L 10G -s -n lv_snapshot /dev/vg00/lv_root
通过实施这些备份和恢复策略,您可以确保Linux系统在遇到硬件故障、人为错误或恶意攻击时能够快速恢复。