CentOS Stream 8備份與恢復方法(系統已終止維護,請盡快升級至Rocky Linux 8或CentOS Stream 9)
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
是虛擬文件系統,無需備份)。
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.sh
cron
任務(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_restore
sudo 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 -p
use database_name;
database_name.sql
為備份文件名):source /backups/centos_stream/database_name.sql;
exit
。若系統無法啟動或需要完整還原磁盤,可使用Clonezilla(開源磁盤克隆工具)恢復。
操作步驟: