1. 备份与恢复概述
备份与恢复是IT系统管理的重要组成部分,用于保护数据免受意外删除、硬件故障、自然灾害等因素的影响。有效的备份策略可以确保业务连续性,减少数据丢失的风险。更多学习教程www.fgedu.net.cn
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 32G 0 32G 0% /dev
tmpfs 32G 0 32G 0% /dev/shm
tmpfs 32G 8.5M 32G 1% /run
tmpfs 32G 0 32G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /backup
# 检查备份目录
# ls -la /backup/
drwxr-xr-x 2 root root 4096 Mar 30 10:00 .
drwxr-xr-x 3 root root 4096 Mar 30 10:00 ..
2. 备份类型
根据备份的范围和方式,备份可以分为全量备份、增量备份和差异备份等类型。学习交流加群风哥微信: itpux-com
# tar -czvf /backup/full_backup_$(date +%Y%m%d).tar.gz /data
tar: Removing leading `/` from member names
/data/
/data/file1.txt
/data/file2.txt
/data/dir1/
/data/dir1/file3.txt
# 增量备份:备份自上次备份以来变化的数据
# tar -czvf /backup/incremental_backup_$(date +%Y%m%d).tar.gz –newer-mtime=”2026-03-29″ /data
tar: Removing leading `/` from member names
/data/
/data/new_file.txt
# 差异备份:备份自上次全量备份以来变化的数据
# tar -czvf /backup/differential_backup_$(date +%Y%m%d).tar.gz –newer-mtime=”2026-03-28″ /data
tar: Removing leading `/` from member names
/data/
/data/new_file.txt
/data/modified_file.txt
3. 备份策略
制定合理的备份策略是确保数据安全的关键,包括备份频率、备份方式、备份存储等。
# 编辑crontab文件
# crontab -e
# 全量备份(每周日凌晨2点)
0 2 * * 0 /usr/bin/tar -czvf /backup/full_backup_$(date +\%Y\%m\%d).tar.gz /data
# 增量备份(每天凌晨1点)
0 1 * * 1-6 /usr/bin/tar -czvf /backup/incremental_backup_$(date +\%Y\%m\%d).tar.gz –newer-mtime=”$(date -d ‘1 day ago’ +%Y-%m-%d)” /data
# 清理过期备份(保留30天)
0 3 * * * find /backup -name “*.tar.gz” -mtime +30 -delete
4. 备份工具
常用的备份工具包括tar、rsync、dump、backupninja等,根据不同的需求选择合适的工具。
# yum install -y rsync
# 使用rsync进行备份
# rsync -av /data/ /backup/data/
building file list … done
dir1/
dir1/file3.txt
file1.txt
file2.txt
# 安装backupninja
# yum install -y backupninja
# 配置backupninja
# cat /etc/backupninja.conf
# global options
when = everyday at 02:00
# 配置backup.d目录
# ls -la /etc/backup.d/
drwxr-xr-x 2 root root 4096 Mar 30 10:00 .
drwxr-xr-x 3 root root 4096 Mar 30 10:00 ..
5. 备份执行
执行备份操作时,需要确保备份过程顺利完成,避免备份失败导致数据丢失。
# /usr/bin/tar -czvf /backup/full_backup_$(date +%Y%m%d).tar.gz /data
tar: Removing leading `/` from member names
/data/
/data/file1.txt
/data/file2.txt
/data/dir1/
/data/dir1/file3.txt
# 检查备份文件
# ls -lh /backup/
total 12K
-rw-r–r– 1 root root 1.2K Mar 30 10:00 full_backup_20260330.tar.gz
# 查看备份文件内容
# tar -tvf /backup/full_backup_20260330.tar.gz
drwxr-xr-x root/root 0 2026-03-30 10:00 data/
-rw-r–r– root/root 10 2026-03-30 10:00 data/file1.txt
-rw-r–r– root/root 10 2026-03-30 10:00 data/file2.txt
-rw-r–r– root/root 10 2026-03-30 10:00 data/file3.txt
6. 备份验证
备份验证是确保备份文件完整性和可恢复性的重要步骤,包括检查备份文件大小、校验和等。
# md5sum /backup/full_backup_20260330.tar.gz
5d41402abc4b2a76b9719d911017c592 /backup/full_backup_20260330.tar.gz
# 验证备份文件完整性
# tar -tzf /backup/full_backup_20260330.tar.gz
/data/
/data/file1.txt
/data/file2.txt
/data/dir1/
/data/dir1/file3.txt
# 测试恢复操作
# mkdir -p /test_restore
# tar -xzf /backup/full_backup_20260330.tar.gz -C /test_restore
# ls -la /test_restore/data/
drwxr-xr-x 3 root root 4096 Mar 30 10:00 .
drwxr-xr-x 3 root root 4096 Mar 30 10:00 ..
drwxr-xr-x 2 root root 4096 Mar 30 10:00 dir1
-rw-r–r– 1 root root 0 Mar 30 10:00 file1.txt
-rw-r–r– 1 root root 0 Mar 30 10:00 file2.txt
7. 灾难恢复
灾难恢复是指在发生自然灾害、系统故障等情况时,恢复系统和数据的过程。
# cat /etc/disaster_recovery_plan.md
# 灾难恢复计划
## 1. 灾难类型
– 自然灾害:地震、洪水、火灾等
– 人为灾难:误操作、恶意攻击等
– 技术灾难:硬件故障、软件故障等
## 2. 恢复步骤
1. 评估灾难影响
2. 启动应急响应
3. 恢复系统和数据
4. 验证恢复结果
5. 恢复业务运行
## 3. 恢复时间目标(RTO)
– 关键业务:4小时内
– 重要业务:8小时内
– 一般业务:24小时内
## 4. 恢复点目标(RPO)
– 关键数据:1小时内
– 重要数据:4小时内
– 一般数据:24小时内
8. 恢复过程
恢复过程包括准备恢复环境、执行恢复操作、验证恢复结果等步骤。
# rm -rf /data/*
# ls -la /data/
drwxr-xr-x 2 root root 4096 Mar 30 10:00 .
drwxr-xr-x 3 root root 4096 Mar 30 10:00 ..
# 执行恢复操作
# tar -xzf /backup/full_backup_20260330.tar.gz -C /
tar: Removing leading `/` from member names
# 验证恢复结果
# ls -la /data/
drwxr-xr-x 3 root root 4096 Mar 30 10:00 .
drwxr-xr-x 3 root root 4096 Mar 30 10:00 ..
drwxr-xr-x 2 root root 4096 Mar 30 10:00 dir1
-rw-r–r– 1 root root 0 Mar 30 10:00 file1.txt
-rw-r–r– 1 root root 0 Mar 30 10:00 file2.txt
9. 备份监控
备份监控用于确保备份任务正常执行,及时发现和解决备份问题。
# systemctl status cron
● crond.service – Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2026-03-30 10:00:00 CST; 1h ago
Main PID: 1234 (crond)
CGroup: /system.slice/crond.service
└─1234 /usr/sbin/crond -n
# 查看备份日志
# tail -f /var/log/cron
Mar 30 02:00:01 server CROND[1234]: (root) CMD (/usr/bin/tar -czvf /backup/full_backup_$(date +\%Y\%m\%d).tar.gz /data)
Mar 30 02:00:02 server CROND[1234]: (root) CMDEND (/usr/bin/tar -czvf /backup/full_backup_$(date +\%Y\%m\%d).tar.gz /data)
# 检查备份文件大小变化
# find /backup -name “*.tar.gz” -type f -exec ls -lh {} \;
-rw-r–r– 1 root root 1.2K Mar 30 10:00 /backup/full_backup_20260330.tar.gz
10. 备份最佳实践
遵循备份最佳实践可以提高备份效率和可靠性,确保数据安全。
# 3份数据副本
# rsync -av /data/ /backup/local/
# rsync -av /data/ /backup/network/
# rsync -av /data/ /backup/external/
# 2种不同的存储介质
# 本地磁盘和网络存储
# 1份存储在异地
# 使用云存储服务
# aws s3 sync /data s3://backup-bucket/data/
# 定期测试恢复
# 每月测试恢复操作
# tar -xzf /backup/full_backup_$(date +%Y%m%d).tar.gz -C /test_restore
# 文档化备份过程
# cat /etc/backup_documentation.md
# 备份文档
## 备份策略
– 全量备份:每周日凌晨2点
– 增量备份:每天凌晨1点
## 备份工具
– tar:用于文件系统备份
– rsync:用于增量备份
– aws s3:用于异地备份
## 恢复步骤
1. 停止相关服务
2. 恢复数据
3. 启动服务
4. 验证数据完整性
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
