CentOS Stream 8备份与恢复方法(系统已终止维护,请尽快升级至Rocky Linux 8或CentOS Stream 9)
tar命令创建系统归档备份tar是Linux下经典的归档工具,可将系统关键目录(如/etc、/var)打包成压缩文件,适合全量备份。
操作步骤:
sudo mkdir -p /backups/centos_streamsudo 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是虚拟文件系统,无需备份)。
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排除无需备份的目录。
对于MySQL/MariaDB数据库,需使用mysqldump工具备份数据(避免直接复制数据库文件导致损坏)。
操作步骤:
username为数据库用户名,database_name为数据库名):mysqldump -u username -p database_name > /backups/centos_stream/db_backup_$(date +%Y%m%d).sql
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.shcron任务(crontab -e),添加以下行:0 2 * * * /usr/local/bin/backup_script.sh
说明:脚本会创建当日日期的备份目录,用rsync备份/etc和/var,再用tar打包成归档文件。
tar命令恢复全量备份若系统崩溃或需要还原整个系统,可通过tar解压备份文件到根目录。
操作步骤:
scp user@remote:/backups/centos_stream/centos_stream_backup.tar.gz /sudo tar xvpfz /centos_stream_backup.tar.gz -C /
sudo reboot。rsync命令恢复特定目录若仅需恢复部分目录(如/etc中的配置文件),可通过rsync将备份数据同步到原始位置。
操作步骤:
/etc):sudo mkdir -p /etc_restoresudo rsync -avz /backups/centos_stream/backup_date/etc/ /etc_restore/
sudo mv /etc /etc.bak && sudo mv /etc_restore /etc。若数据库损坏,可通过mysql命令恢复mysqldump生成的备份文件。
操作步骤:
mysql -u username -puse database_name;database_name.sql为备份文件名):source /backups/centos_stream/database_name.sql;
exit。若系统无法启动或需要完整还原磁盘,可使用Clonezilla(开源磁盘克隆工具)恢复。
操作步骤: