Skip to content

備份與還原

系統設定 — 備份分頁

系統設定 → 備份設定。備份工作有自己的 Cron 排程,與任務排程無關。

備份內容

  • Walis 資料庫,透過 VACUUM INTO——是一致的副本,不是對執行中資料庫做檔案複製。
  • 建置產出檔案。
  • 你列出的額外絕對路徑,一行一個。目錄整個打包,符號連結會跳過。
  • 選用的 PostgreSQL,透過 pg_dump

加密

AES-256-CBC 搭配 PBKDF2-SHA256,寫成 OpenSSL 的 Salted__ 容器格式——所以還原不需要 Walis。只要有通關密語,openssl enc -d 就夠了。

只要有遠端目的地,通關密語就是必填,沒填的話畫面不讓你存。備份內含密碼雜湊與已儲存的憑證,不能以明文離開這台機器。

目的地

類型需要的欄位
本機路徑一個目錄。
S3 相容Bucket、區域、Endpoint(AWS 可留空)、Access Key、Secret Key。
DropboxClient ID、Client Secret、Refresh Token。
Google DriveClient ID、Client Secret、Refresh Token、資料夾 ID。
OneDriveClient ID、Client Secret、Refresh Token。

全部在程序內實作——SigV4 由 Walis 自己簽。不會去呼叫 awsrclone 之類的外部程式,所以沒有額外的執行檔要裝、要跟版本。

保留規則逐目的地套用同一套設定。金鑰與通關密語讀回來是 ********,原樣送回代表「不要動」,所以你可以編輯目的地而不必重打憑證。

還原

還原會清空目前所有資料再寫回備份內容,無法復原。

  • 備份與資料庫種類無關,所以在 SQLite 上取的備份可以還原到 PostgreSQL、MySQL 或 SQL Server。 這也是從單節點搬到多節點的正規路徑。
  • 產出檔案是否一併還原可選。
  • 有一個強制開關可在建置執行中還原。別用:執行中的建置事後寫回結果時會找不到自己的紀錄。等它跑完。

驗證

沒還原過的備份只是一個假設。通關密語是單一失效點——弄丟就救不回來,這是設計如此。把它存在不是被備份那台機器的地方。

以 MIT 授權釋出。