ESC

開始輸入,可搜尋發票、服務、域名、工單,以及 更多...

搜尋... Ctrl+K
寶塔面板

寶塔面板網站與資料庫備份遷移教程:搬家到新伺服器

7 個步驟 8 分鐘閱讀 21 次閱讀 0
本文目錄

無論是日常防護還是升級到更高配置的 IMIDC 伺服器,寶塔面板備份與網站遷移都是站長繞不開的工作。本文適用於寶塔 Linux 面板 / aaPanel(Debian/Ubuntu 與 CentOS/Rocky/AlmaLinux 通用),介紹面板定時備份、備份到遠端儲存、一鍵遷移外掛的使用思路,以及最穩妥的手動方法:tar 打包網站 + mysqldump 匯出資料庫,最後附上 DNS 切換清單,幫助你零資料丟失地完成搬家。

步驟 1:在寶塔面板設定網站和資料庫定時備份

進入面板左側“計劃任務”,任務類型分別選擇“備份網站”和“備份資料庫”,選擇全部或指定站點,執行週期建議每天凌晨,保留份數按磁碟大小設定(如 7 份)。備份預設存放在 /www/backup 目錄,可以用下面的命令檢查檔案和佔用空間:

ls /www/backup/site /www/backup/database
du -sh /www/backup/*
df -h /www
備份只放在本機並不安全:硬碟故障、誤刪或被入侵時會和網站一起丟失。務必再儲存一份到其他伺服器或物件儲存。

步驟 2:把寶塔備份儲存到遠端儲存

在面板“軟體商店”中搜尋並安裝儲存類外掛(如 FTP、S3 相容物件儲存等),填寫儲存的訪問資訊後,回到計劃任務,把備份的“備份到”選項改為該遠端儲存。也可以把另一台 IMIDC 伺服器作為 FTP 或 rsync 備份目標,實現異地容災。

步驟 3:使用一鍵遷移外掛(適合整機搬家)

寶塔官方提供“一鍵遷移”類外掛。通用流程是:在新伺服器上安裝同樣的寶塔面板,在其面板設定中開啟 API 介面並把舊伺服器 IP 加入白名單;然後在舊伺服器上安裝遷移外掛,填入新面板的地址和 API 金鑰,勾選要遷移的網站、資料庫和 FTP,等待傳輸完成。外掛名稱和介面會隨版本變化,以面板中實際顯示為準。遷移前建議新舊兩臺的 PHP、MySQL 版本保持一致。

步驟 4:手動遷移 —— 用 tar 打包網站、mysqldump 匯出資料庫

外掛失敗或只遷移個別站點時,手動遷移最可控。在舊伺服器上執行以下命令(把 example.com 和 example_db 換成你的站點目錄和資料庫名),--single-transaction 可以在不鎖表的情況下匯出一致的 InnoDB 資料。

# On the OLD server
mkdir -p /root/migrate && cd /root/migrate
tar -czf example.com.tar.gz -C /www/wwwroot example.com

# Export the database (consistent dump for InnoDB, keeps utf8mb4)
mysqldump -uroot -p --single-transaction --routines --triggers \
  --default-character-set=utf8mb4 example_db | gzip > example_db.sql.gz

# Copy the Nginx vhost and rewrite rules for reference
cp /www/server/panel/vhost/nginx/example.com.conf /root/migrate/
cp /www/server/panel/vhost/rewrite/example.com.conf /root/migrate/rewrite-example.com.conf 2>/dev/null
ls -lh /root/migrate

然後用 rsync 把檔案推送到新伺服器,支援斷點續傳,比 scp 更適合大檔案:

# Debian / Ubuntu
apt install -y rsync
# CentOS / Rocky / AlmaLinux
yum install -y rsync

# Push the files to the NEW IMIDC server
rsync -avP -e "ssh -p 22" /root/migrate/ root@NEW_SERVER_IP:/root/migrate/

步驟 5:在新伺服器上還原網站和資料庫

先在新伺服器的寶塔面板中新增同名網站、建立同名資料庫和使用者(記下密碼),並安裝相同版本的 PHP 擴充套件。再解壓網站檔案、修正許可權、匯入資料庫。若資料庫密碼與舊伺服器不同,請同步修改網站配置檔案(如 WordPress 的 wp-config.php)。偽靜態和 SSL 可在面板網站設定中重新配置,可參考“寶塔建站與 SSL”教程。

# On the NEW server, after creating the site and the empty database in the panel
cd /root/migrate
tar -xzf example.com.tar.gz -C /www/wwwroot/
chown -R www:www /www/wwwroot/example.com

gunzip < example_db.sql.gz | mysql -uexample_db -p example_db

步驟 6:修改本地 hosts 測試新伺服器

切換 DNS 前,在自己電腦上修改 hosts 檔案,讓域名臨時指向新伺服器 IP,全面測試首頁、後臺登入、上傳和支付等功能,確認無誤後再改解析。測試完記得刪除這行。

# Windows: C:\Windows\System32\drivers\etc\hosts
# macOS / Linux: /etc/hosts
NEW_SERVER_IP  example.com  www.example.com

步驟 7:DNS 切換清單

  • 提前 24–48 小時把域名 A 記錄的 TTL 調低到 300 秒左右;
  • 選擇訪問量低的時段,網站開啟維護模式或暫停後臺寫入;
  • 重新匯出並匯入一次資料庫,用 rsync 增量同步上傳目錄(見下方命令);
  • 修改 A 記錄指向新 IP,在新伺服器上重新申請或部署 SSL 證書;
  • 觀察舊伺服器訪問日誌,直到幾乎沒有新請求,至少保留舊伺服器數天再停用。
# Final sync of uploads changed since the first copy (run on the OLD server)
rsync -avP /www/wwwroot/example.com/ root@NEW_SERVER_IP:/www/wwwroot/example.com/

# Verify DNS after switching
dig +short example.com A
nslookup example.com 8.8.8.8

常見問題

遷移後網站開啟是寶塔預設頁或 404?

一般是 DNS 尚未生效、站點域名沒有新增完整(帶 www 和不帶 www),或網站目錄路徑與舊伺服器不一致。檢查面板中的站點域名和根目錄設定。

匯入資料庫時報字元集或 “Unknown collation” 錯誤?

通常是新伺服器 MySQL 版本較低,不支援 utf8mb4_0900_ai_ci 等排序規則。建議新伺服器安裝相同或更高版本的 MySQL,或在匯出檔案中替換為相容的排序規則。

備份檔案太大,傳輸很慢怎麼辦?

先用 rsync 在業務執行時完成第一次全量同步,切換時只做增量同步,停機時間可以縮短到幾分鐘。

如按以上步驟仍無法解決,請提交工單聯絡 IMIDC 7×24 技術支援,並附上伺服器 IP、作業系統版本、執行過的命令和報錯截圖,方便工程師快速定位問題。

這篇文章有幫助嗎?

相關教程