溫馨提示×

CentOS Stream 8備份與恢復方法

小樊
46
2025-09-24 06:13:27
欄目: 智能運維

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盤或網絡共享),選擇備份文件;
  • 按照提示恢復系統到目標磁盤。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女