CentOS 文件系统备份与恢复实用指南
一、方法总览与选择建议
二、常用方法操作示例
tar 全量/增量备份与恢复(适合目录/系统)
tar -cvpzf /backup/full_$(date +%F).tar.gz \
--exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys \
--exclude=/backup /
tar -xvpfz /backup/full_YYYY-MM-DD.tar.gz -C /
# 若备份时排除了目录,恢复后需重建
mkdir -p /proc /lost+found /mnt /sys
# 修复 SELinux 上下文
restorecon -Rv /
rsync 增量备份与恢复(适合频繁同步与远程备份)
rsync -avz --delete /data/ /backup/data/
rsync -avz --delete \
--link-dest=/backup/data/last/ \
/data/ /backup/data/current/
# 轮转
rm -rf /backup/data/last
mv /backup/data/current /backup/data/last
rsync -avz -e ssh /data/ user@remote:/backup/data/
rsync -av /backup/data/ /data/
dd 整盘/分区镜像(适合离线整机迁移)
dd if=/dev/sda of=/backup/disk_sda.img bs=4M status=progress
dd if=/backup/disk_sda.img of=/dev/sdb bs=4M status=progress
XFS 文件系统级备份恢复(xfsdump/xfsrestore)
xfsdump -f /backup/dump_sdb1 /sdb1 \
-L "dump_sdb1" -M "sdb1"
xfsdump -f /backup/dump_sdb1_incr /sdb1 \
-L "dump_sdb1_incr" -M "sdb1" -l 1
xfsdump -I
ls /var/lib/xfsdump/inventory/
xfsrestore -f /backup/dump_sdb1 /sdb1
三、无备份误删时的应急恢复
yum install -y e2fsprogs-libs e2fsprogs-devel
# 下载、解压、编译安装 extundelete(略)
mount -o ro /dev/sdXY /mnt
extundelete /dev/sdXY --restore-all
# 或恢复单个文件
extundelete /dev/sdXY --restore-file /path/to/file
# 恢复结果在 RECOVERED_FILES/ 目录
四、系统无法启动时的救援与修复
chroot /mnt/sysimage
# 视文件系统类型执行修复(示例)
xfs_repair /dev/sda1 # XFS
fsck -y /dev/sda2 # EXT
exit
reboot
mount -o remount,rw /
五、备份策略与注意事项