備份與還原
管理員位置: System › Admin › Backup(
/backup僅在啟用 DDoS & BGP 模組時顯示;標準安裝請使用下方的命令列。)
備份內容
sudo nexcmp backup 會建立一個包含以下內容的壓縮封存檔:
| 部分 | 內容 |
|---|---|
data/**/*.db | /var/lib/nexcmp 中的每個 SQLite 資料庫,透過 SQLite 的線上備份 API 進行複製 — 即使在面板執行時也保持一致性 |
files.tar | /var/lib/nexcmp 中的所有其他檔案(設定檔、品牌化上傳項目、secrets/),但資料庫與 updates/ 資料夾除外 |
etc/ | /etc/nexcmp 的複本(安裝程式設定、執行個體 ID、連接埠與綁定) |
此封存檔包含您的主金鑰
secrets/ 包含用來加密儲存於資料庫中的 API 金鑰、支付憑證與 SMTP 密碼的金鑰。此歸檔建立時的權限為 0600。請將其加密並存放於伺服器外部。若沒有這些金鑰,還原後的資料庫將無法解密其機密資料。
建立備份
bash
sudo nexcmp backup # writes to /var/backups/nexcmp
sudo nexcmp backup /mnt/nas/nexcmp # or to another directory此指令會印出歸檔路徑,例如 /var/backups/nexcmp/nexcmp-backup-20261030-120000.tar.zst。
排程備份
bash
echo '17 3 * * * root /usr/local/bin/nexcmp backup /var/backups/nexcmp && find /var/backups/nexcmp -name "nexcmp-backup-*" -mtime +14 -delete' | sudo tee /etc/cron.d/nexcmp-backup將資料夾複製到機器外部(物件儲存、NAS、其他伺服器)。
還原
還原至已安裝**相同版本(或更新版本)**NexCMP 的伺服器上。
- 使用相同的授權與網域透過 installer 安裝 NexCMP,但請不要執行設定精靈。
- 停止服務:bash
sudo systemctl stop nexcmp-vmd nexcmp - 將歸檔解壓縮至暫存目錄:bash
sudo mkdir /root/restore && sudo tar --zstd -xf nexcmp-backup-20261030-120000.tar.zst -C /root/restore - 將檔案放回:bash
sudo tar -xf /root/restore/files.tar -C /var/lib/nexcmp sudo cp -a /root/restore/data/. /var/lib/nexcmp/ sudo cp -a /root/restore/etc/. /etc/nexcmp/ sudo chown -R nexcmp:nexcmp /var/lib/nexcmp - 啟動服務並檢查:bash
sudo systemctl start nexcmp nexcmp-vmd sudo nexcmp status - 使用已備份系統的管理員登入
https://<domain>/admin。
進行演練
在您真正需要之前,先在備用伺服器上執行一次步驟 1–6。從未還原過的備份只是一種奢望。
未包含項目
- nginx 設定與憑證(由安裝程式重新產生;Let's Encrypt 憑證會重新發行)。
- 您的 CloudStack / Proxmox VE 伺服器及其上的虛擬機器 — 請使用其自身的工具進行備份。