溫馨提示×

LNMP環境下Ubuntu如何進行備份與恢復

小樊
47
2025-08-19 10:26:18
欄目: 智能運維

備份策略

  • 數據庫備份:用mysqldump工具導出數據庫為SQL文件,可全庫或單庫備份,建議每日執行并壓縮存儲。
    mysqldump -u 用戶名 -p密碼 數據庫名 > backup.sql  # 全庫備份示例
    
  • 文件備份
    • Nginx配置:備份/etc/nginx/目錄,可使用tarrsync。
      sudo tar -czvf nginx_backup.tar.gz /etc/nginx/  # 打包配置文件
      
    • PHP代碼:備份網站根目錄(如/var/www/html/),支持增量備份。
      sudo rsync -aAXv /var/www/html/ /backup/php_code/  # 增量同步
      
  • 系統備份
    • Timeshift:備份系統鏡像,支持增量備份,適合桌面和服務器。
      sudo apt install timeshift  # 安裝后配置備份路徑和計劃
      
    • dd命令:備份整個磁盤或分區,適合系統遷移。
      sudo dd if=/dev/sda of=/backup/system.img bs=4M  # 備份系統盤
      

恢復策略

  • 數據庫恢復
    • mysql命令導入SQL文件,需先停止MySQL服務。
      sudo systemctl stop mysql
      mysql -u 用戶名 -p密碼 數據庫名 < backup.sql
      sudo systemctl start mysql
      
  • 文件恢復
    • tar解壓或rsync同步備份文件到原路徑,注意權限設置。
      sudo tar -xzvf nginx_backup.tar.gz -C /  # 解壓配置文件
      sudo rsync -a /backup/php_code/ /var/www/html/  # 同步代碼文件
      
  • 系統恢復
    • 通過Timeshift恢復系統鏡像,需從Live USB啟動。
    • 使用dd命令將備份的磁盤鏡像寫入原磁盤。

自動化備份

  • crontab定時執行備份腳本,例如每日凌晨備份數據庫和文件。
    crontab -e
    0 3 * * * /path/to/backup_script.sh  # 每天3點執行
    

注意事項

  • 備份前停止相關服務,避免數據不一致。
  • 定期測試備份文件的可恢復性,確保有效性。
  • 重要數據建議采用“本地+遠程+云存儲”多層備份。

參考來源:[1,2,4,5,6,7,8,9,10,11,13]

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