为什么需要备份?
数据是服务器运行的核心资产,无论是误操作、硬件故障还是恶意攻击,一旦数据丢失,都可能造成业务中断、用户信任度下降甚至法律风险,CentOS作为企业级Linux发行版,常用于关键业务场景,定期执行磁盘备份是运维工作的基础保障。

常用备份工具介绍
1. dd命令
dd是Linux系统自带的底层数据拷贝工具,适用于全盘或分区的完整备份,其优势在于直接操作磁盘块,能精准复制数据。
示例命令:
- dd if=/dev/sda of=/backup/disk.img bs=4M status=progress
*适用场景*:系统迁移、全盘镜像备份,需注意目标存储空间需大于源磁盘。
2. rsync

rsync通过差异同步实现增量备份,仅传输变化部分,节省时间和存储资源。
示例命令:
- rsync -avz --delete /源目录/ /备份目录/
*适用场景*:日常文件同步、目录级增量备份。
3. tar归档工具
tar可将多个文件打包为单一压缩文件,支持gzip或bzip2压缩算法。
示例命令:

- tar -czvf backup_$(date +%Y%m%d).tar.gz /home /etc
*适用场景*:重要目录的定期归档,便于长期存储。
备份策略设计要点
1. 全量备份与增量结合
- 每周执行一次全量备份,确保基线数据完整。
- 每日增量备份,记录变更部分。
- 保留至少3个历史版本,防止备份文件损坏。
2. 存储介质选择
- 本地磁盘:快速恢复,但需防范物理损坏风险。
- 网络存储(NAS/NFS):避免单点故障。
- 云存储(如AWS S3):支持异地容灾,但需注意传输成本。
3. 自动化与监控
- 通过crontab设置定时任务:
- 0 2 * * * /usr/local/bin/backup_script.sh
- 添加日志记录与邮件告警,确保备份任务可追溯。
实战:分步备份系统分区
步骤1:确认磁盘分区信息
- lsblk
- df -Th
记录需要备份的分区路径(如/dev/sda1
)。
步骤2:创建临时挂载点
- mkdir /mnt/backup_disk
- mount /dev/sdb1 /mnt/backup_disk
*注意*:备份目标分区需提前格式化并确保空间充足。
步骤3:执行dd备份
- dd if=/dev/sda1 of=/mnt/backup_disk/sda1.img conv=noerror,sync
添加noerror
参数可跳过读取错误,避免任务中断。
步骤4:验证备份完整性
- cmp /dev/sda1 /mnt/backup_disk/sda1.img
返回无差异提示即为成功。
数据恢复流程
1、使用Live CD启动系统(若原系统无法引导)。
2、挂载备份文件与目标磁盘:
- mount /dev/sdb1 /mnt/restore
- losetup -fP /mnt/backup_disk/sda1.img
3、逆向执行dd命令:
- dd if=/mnt/backup_disk/sda1.img of=/dev/sda1 bs=4M
4、重启系统并检查服务状态。
高级技巧与风险规避
LVM快照:对使用LVM分区的系统,可先创建快照再备份,减少业务中断时间:
- lvcreate -L 10G -s -n lv_home_snapshot /dev/vg01/lv_home
文件系统一致性:备份前卸载分区或进入单用户模式,避免写入导致数据不一致。
加密处理:敏感数据备份建议使用GPG加密:
- tar -czvf - /data | gpg -c > backup.tar.gz.gpg
定期测试恢复流程至关重要——许多管理员直到灾难发生时才发现备份文件不可用,建议每季度进行一次恢复演练,同时将备份策略文档化,确保团队内部信息同步,技术手段永远服务于业务目标,清晰的备份方案能最大限度降低不可控风险对企业的影响。