CentOS fetchLinux的备份与恢复怎么做
导读:CentOS 备份与恢复实操指南 术语澄清与总体策略 FetchLinux并不是备份工具,而是基于 RPM 的包管理器(用于安装/管理软件包)。备份与恢复应围绕系统与数据的通用方法来实现。 推荐组合: 日常与整机:rsync(增量、可远...
CentOS 备份与恢复实操指南
术语澄清与总体策略
- FetchLinux并不是备份工具,而是基于 RPM 的包管理器(用于安装/管理软件包)。备份与恢复应围绕系统与数据的通用方法来实现。
- 推荐组合:
- 日常与整机:rsync(增量、可远程、保留属性)
- 快速整盘镜像:dd(逐块拷贝,适合同容量磁盘克隆)
- 单文件/目录快照:tar(打包压缩,便于归档与校验)
- 已删除文件/分区:extundelete、TestDisk(仅限特定场景,操作需谨慎)
方法一 rsync 增量备份与恢复
- 安装工具
- sudo yum install -y rsync
- 本地或远程增量备份(示例)
- 目录:rsync -av --delete /path/to/source /backup/data/source_$(date +%F)
- 整机(排除虚拟/临时文件系统):
- sudo rsync -av --delete
–exclude={ “/proc”,“/sys”,“/dev”,“/tmp”,“/run”,“/mnt”,“/media”}
/ /backup/data/system_$(date +%F)
- sudo rsync -av --delete
- 恢复
- 目录:rsync -av /backup/data/source_YYYY-MM-DD/ /path/to/restore
- 整机:建议从救援模式/LiveCD启动后执行(避免文件被占用)
- rsync -av /backup/data/system_YYYY-MM-DD/ /
- 定时任务(每天 02:00)
- 0 2 * * * /usr/local/bin/backup_rsync.sh
- 示例脚本 backup_rsync.sh:
- #!/bin/bash
- set -e
- BACKUP_DIR=“/backup/data”
- DATE=$(date +%F)
- mkdir -p “$BACKUP_DIR”
- rsync -av --delete
–exclude={ “/proc”,“/sys”,“/dev”,“/tmp”,“/run”,“/mnt”,“/media”}
/ “$BACKUP_DIR/system_$DATE”
- #!/bin/bash
方法二 tar 整系统快照与恢复
- 备份(从根目录执行,排除虚拟/临时文件系统)
- sudo tar -czvf /backup/system_$(date +%F).tar.gz
–exclude={ “/proc”,“/sys”,“/dev”,“/tmp”,“/run”,“/mnt”,“/media”}
–exclude=/backup/system_$(date +%F).tar.gz
/
- sudo tar -czvf /backup/system_$(date +%F).tar.gz
- 恢复
- 建议从救援模式/LiveCD启动到已挂载的根分区(如 /mnt/sysimage),然后:
- cd /mnt/sysimage
- sudo tar -xzvf /path/to/system_YYYY-MM-DD.tar.gz -C .
- 如曾在备份中排除 /proc、/sys 等目录,恢复后可按需重建:
- sudo mkdir -p /proc /sys /dev /run /tmp /mnt /media
- 建议从救援模式/LiveCD启动到已挂载的根分区(如 /mnt/sysimage),然后:
- 校验
- tar -tzvf /backup/system_YYYY-MM-DD.tar.gz | head
方法三 dd 整盘镜像与恢复
- 备份(整盘到镜像)
- 确认目标盘容量不小于源盘:lsblk
- sudo dd if=/dev/sda of=/backup/sda_$(date +%F).img bs=4M status=progress
- 恢复(镜像写回磁盘)
- 警告:将完全覆盖目标盘,请确保目标盘无重要数据
- sudo dd if=/backup/sda_YYYY-MM-DD.img of=/dev/sda bs=4M status=progress
- 适用场景
- 同容量/更大容量磁盘克隆、快速还原到“当时状态”
- 不适合跨硬件差异较大的迁移(驱动/分区布局可能不兼容)
误删文件与分区恢复
- 立即停止对受影响分区的写入(卸载或只读挂载),提升可恢复率
- 已删除文件(ext3/ext4)
- 卸载分区:sudo umount /dev/sdXY
- 恢复单文件:extundelete /dev/sdXY --restore-file /path/to/file
- 恢复全部可恢复文件:extundelete /dev/sdXY --restore-all
- 丢失分区/分区表
- 使用 TestDisk 进行分区表与文件恢复(交互式向导)
- 风险提示
- 恢复成功率取决于是否被新数据覆盖;重要业务建议先做整盘镜像再尝试恢复
关键注意事项与最佳实践
- 备份策略
- 至少保留两份备份,且一份异地/离线;定期做恢复演练验证可用性
- 对数据库等动态数据,使用应用层工具(如 mysqldump/pg_dump)单独备份,再纳入整体方案
- 运行中的系统备份
- 整机/根分区备份尽量在救援模式/LiveCD进行,避免文件被占用导致不一致
- 权限与 SELinux
- 使用 tar/rsync 时保留权限;如系统启用 SELinux,恢复后可执行:restorecon -Rv /
- 校验与监控
- 定期校验备份完整性(tar -tzvf、sha256sum);为备份任务记录日志并设置告警
- 工具安装
- 常用工具:sudo yum install -y rsync tar e2fsprogs testdisk(extundelete 在部分仓库可能不可用,需按发行版仓库情况选择)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS fetchLinux的备份与恢复怎么做
本文地址: https://pptw.com/jishu/788329.html
