CentOS Stream 8备份与恢复方法
导读:CentOS Stream 8备份与恢复方法(系统已终止维护,请尽快升级至Rocky Linux 8或CentOS Stream 9) 一、常用备份方法 1. 使用tar命令创建系统归档备份 tar是Linux下经典的归档工具,可将系统关键...
CentOS Stream 8备份与恢复方法(系统已终止维护,请尽快升级至Rocky Linux 8或CentOS Stream 9)
一、常用备份方法
1. 使用tar
命令创建系统归档备份
tar
是Linux下经典的归档工具,可将系统关键目录(如/etc
、/var
)打包成压缩文件,适合全量备份。
操作步骤:
- 创建备份目录:
sudo mkdir -p /backups/centos_stream
- 执行备份命令(排除无需备份的特殊目录):
sudo tar -czvf /backups/centos_stream/centos_stream_backup_$(date +%Y%m%d).tar.gz \ --exclude=/proc --exclude=/lostfound --exclude=/mnt --exclude=/sys /etc /var /
说明:-c
表示创建归档,-z
表示用gzip压缩,-v
显示进度,-f
指定输出文件;--exclude
用于排除不需要备份的目录(如/proc
是虚拟文件系统,无需备份)。
2. 使用rsync
命令实现增量备份
rsync
通过对比源目录与目标目录的差异,仅传输变化的部分,适合频繁备份(如每日增量)。
操作步骤:
- 创建备份目录(按日期分类):
sudo mkdir -p /backups/centos_stream/$(date +%Y%m%d)
- 执行增量备份(排除特殊目录):
sudo rsync -avz --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} \ /etc/ /backups/centos_stream/$(date +%Y%m%d)/ sudo rsync -avz --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} \ /var/ /backups/centos_stream/$(date +%Y%m%d)/
说明:-a
表示归档模式(保留权限、时间戳等),-v
显示进度,-z
压缩传输;--exclude
排除无需备份的目录。
3. 使用数据库专用工具备份数据库
对于MySQL/MariaDB数据库,需使用mysqldump
工具备份数据(避免直接复制数据库文件导致损坏)。
操作步骤:
- 执行备份命令(替换
username
为数据库用户名,database_name
为数据库名):mysqldump -u username -p database_name > /backups/centos_stream/db_backup_$(date +%Y%m%d).sql
- 输入数据库密码后,备份文件会保存到指定路径。
4. 使用cron
任务定期自动备份
通过cron
设置定时任务,实现无人值守的定期备份(如每天凌晨2点)。
操作步骤:
- 创建备份脚本(如
/usr/local/bin/backup_script.sh
):!/bin/bash BACKUP_DIR="/backups/centos_stream/$(date +%Y%m%d)" sudo mkdir -p "$BACKUP_DIR" sudo rsync -avz --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} \ /etc/ "$BACKUP_DIR"/ sudo rsync -avz --exclude={ "/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lostfound"} \ /var/ "$BACKUP_DIR"/ sudo tar -czvf "$BACKUP_DIR"/centos_stream_backup_$(date +%Y%m%d).tar.gz -C "$BACKUP_DIR" .
- 赋予脚本执行权限:
sudo chmod +x /usr/local/bin/backup_script.sh
- 编辑
cron
任务(crontab -e
),添加以下行:0 2 * * * /usr/local/bin/backup_script.sh
说明:脚本会创建当日日期的备份目录,用rsync
备份/etc
和/var
,再用tar
打包成归档文件。
二、常用恢复方法
1. 使用tar
命令恢复全量备份
若系统崩溃或需要还原整个系统,可通过tar
解压备份文件到根目录。
操作步骤:
- 将备份文件复制到系统(如通过U盘或网络):
scp user@remote:/backups/centos_stream/centos_stream_backup.tar.gz /
- 解压备份文件到根目录:
sudo tar xvpfz /centos_stream_backup.tar.gz -C /
- 重启系统使恢复生效:
sudo reboot
。
2. 使用rsync
命令恢复特定目录
若仅需恢复部分目录(如/etc
中的配置文件),可通过rsync
将备份数据同步到原始位置。
操作步骤:
- 创建目标目录(如恢复
/etc
):sudo mkdir -p /etc_restore
- 同步备份数据到目标目录:
sudo rsync -avz /backups/centos_stream/backup_date/etc/ /etc_restore/
- 验证数据无误后,替换原目录(谨慎操作):
sudo mv /etc /etc.bak & & sudo mv /etc_restore /etc
。
3. 使用数据库工具恢复数据库
若数据库损坏,可通过mysql
命令恢复mysqldump
生成的备份文件。
操作步骤:
- 登录数据库:
mysql -u username -p
- 选择数据库:
use database_name;
- 执行恢复命令(替换
database_name.sql
为备份文件名):source /backups/centos_stream/database_name.sql;
- 退出数据库:
exit
。
4. 使用Clonezilla恢复整个系统
若系统无法启动或需要完整还原磁盘,可使用Clonezilla(开源磁盘克隆工具)恢复。
操作步骤:
- 下载Clonezilla ISO镜像并制作启动盘(如用Rufus或Etcher);
- 从启动盘启动系统,选择“device-image”模式(磁盘到镜像);
- 连接备份存储(如U盘或网络共享),选择备份文件;
- 按照提示恢复系统到目标磁盘。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Stream 8备份与恢复方法
本文地址: https://pptw.com/jishu/715298.html