centos

CentOS怎样实现数据备份与恢复

小樊
46
2025-10-11 05:53:13
栏目: 智能运维

CentOS数据备份与恢复实现指南

一、数据备份方法

1. 使用tar命令进行全量备份

tar是CentOS内置的归档工具,适合备份整个系统或指定目录,支持gzip/bzip2压缩,可排除无需备份的目录(如/proc/sys)。
备份命令示例

sudo tar cvpzf /backup/centos_backup_$(date +%Y%m%d).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/mnt --exclude=/media /

参数说明

2. 使用rsync命令进行增量备份

rsync通过对比源和目标文件的修改时间、大小,仅传输变化的部分,适合定期同步数据(如每日增量、每周全量)。
首次全量备份

rsync -avz --delete /source/directory/ /destination/directory/

后续增量备份(结合--link-dest实现硬链接,节省空间):

rsync -avz --delete --link-dest=/destination/last_backup /source/directory/ /destination/directory/new_backup/

参数说明

3. 使用dd命令进行磁盘镜像备份

dd用于创建磁盘或分区的完整镜像,适合备份整个系统(包括引导分区、分区表),恢复时可还原到相同或更大容量的磁盘。
备份命令

sudo dd if=/dev/sda of=/backup/centos_disk.img bs=4M status=progress

恢复命令

sudo dd if=/backup/centos_disk.img of=/dev/sda bs=4M status=progress

参数说明

4. 使用Clonezilla进行磁盘克隆

Clonezilla是一款开源磁盘克隆工具,支持备份整个系统到镜像文件或直接克隆到其他磁盘,适合大规模系统部署。
操作步骤

5. 数据库备份(mysqldump)

对于MySQL/MariaDB数据库,使用mysqldump工具导出数据库结构和数据,支持压缩和远程备份。
备份命令

mysqldump -u root -p --all-databases --single-transaction --quick --add-drop-database | gzip > /backup/all_databases_$(date +%Y%m%d).sql.gz

参数说明

gunzip < /backup/all_databases_$(date +%Y%m%d).sql.gz | mysql -u root -p

二、数据恢复方法

1. 从备份文件恢复

2. 使用extundelete恢复误删除文件

extundelete适用于ext3/ext4文件系统,需在未写入新数据的情况下使用(立即卸载分区)。
安装与恢复步骤

3. 使用TestDisk恢复分区表或文件

TestDisk支持恢复丢失的分区表、引导扇区,以及误删除的文件(适用于ext2/ext3/ext4、NTFS等文件系统)。
操作步骤

0
看了该问题的人还看了