非官方
本頁內容
  1. 01備份內容
  2. 02排程與保留的副本
  3. 03副本存放位置
  4. 04加密離開 NAS 的資料
  5. 05立即備份
  6. 06驗證與還原

Bucket & Code Server IDE 中的備份

備份頁面(管理員)會依排程,將設定、帳戶、每個儲存庫及您的工作複製到您選擇的目標,並依保留設定移除較舊的副本。還原可以放回全部內容,也可以只還原一個儲存庫或一個專案資料夾。

  1. 內容要勾選什麼
  2. 排程開啟前預設關閉
  3. 目標資料夾、rsync、rclone
  4. 加密密鑰,只顯示一次
  5. 還原全部,或其中一部分

新安裝尚無備份,因此執行清單、還原對話框與密鑰都取自面板的測試資料。其中每個金鑰都只是範例。

01備份內容

每次執行都會在資料目錄建立一個資料夾 backups/<id>/,其中有一個 manifest.json,逐一列出每個檔案的 sha256。在 備份包含的內容 下勾選要備份的項目。

項目複製的內容
設定與帳戶設定、帳戶及其兩步驟驗證密鑰、TLS 金鑰、備份金鑰
GitForgejo 的傾印檔:儲存庫、wiki、LFS 物件、附件及其資料庫
SVN 儲存庫、儲存桶每個儲存庫;已複製過的修訂版本不會再複製
VS Code 設定和擴充功能清單每個帳戶自己的設定及其擴充功能清單
環境預設關閉,因為可以重新建立
無論是否勾選都會備份專案資料夾(不含 node_modules)、HOME 資料夾、App Builder 應用程式的設定與套件儲存庫
備份內容:已勾選設定與帳戶、Git、SVN 儲存庫、儲存桶與 VS Code 設定和擴充功能清單,未勾選環境內容,以及關於每次備份內容的說明

02排程與保留的副本

  1. 開啟 排程備份。新安裝時此功能預設關閉,因此只有按下立即備份才會執行備份。
  2. 將 排程 保留為 @daily(每天 00:00),或輸入五個 cron 欄位。下方的方塊會以 NAS 的時區列出接下來幾次的執行時間。
  3. 保留的副本:過去 7 天的每一天、4 週的每一週與 6 個月的每個月,各保留最新的一次執行;最新的成功執行也一定保留。接著按下 儲存備份設定。
排程與保留內容:已開啟排程備份,排程為 @daily,接下來五次執行皆為 00:00,保留的副本為每日 7、每週 4、每月 6

若 NAS 在排程時間關機,錯過的備份會在套件啟動 10 分鐘後執行。

03副本存放位置

每次執行都會先寫入資料目錄,再複製到每個目標。按下 新增目標 並選擇其 類型;儲存之前,可以按 測試 試試這個目標。

  • 本機資料夾:本 NAS 上的資料夾,例如 /share/Backup/BucketVS(選擇 會瀏覽共用資料夾)。每份副本只占用變更部分的空間。這份副本不加密,而且和資料放在同一組磁碟上,所以能防範操作失誤,卻防不了整台 NAS 的損失。 一個目標:類型 本機資料夾,資料夾 /share/Backup/BucketVS,以及選擇與測試按鈕
  • 透過 SSH 的 rsync:另一台機器上的 user@host:path。勾選 使用套件的備份金鑰登入 後,請將頁面顯示的那一行加入該帳號的 ~/.ssh/authorized_keys。 一個目標:類型 透過 SSH 的 rsync,backup@192.168.1.30:/srv/backups/nas,已勾選使用套件的備份金鑰登入,以及要加入 ~/.ssh/authorized_keys 的套件公開 SSH 金鑰
  • rclone 遠端:remote:path,即資料目錄 etc/rclone.conf 中定義的遠端,例如 S3、B2、SFTP、WebDAV 或 Google Drive。

某個目標失敗時,執行結果會指出它,但這次執行本身仍算成功。

04加密離開 NAS 的內容

備份包含備份金鑰、rclone.conf、TLS 金鑰與兩步驟驗證的密鑰,因此頁面只有在開啟加密時才會儲存 rsync 或 rclone 目標。

  1. 開啟 加密離開 NAS 的副本 並按下 建立金鑰。 加密:已開啟加密離開 NAS 的副本,顯示尚無金鑰的警告,以及建立金鑰按鈕
  2. 複製對話框顯示的私密金鑰,並將它存放在此 NAS 以外的地方。它只顯示這一次:bvsd 會保留公開的一半,若沒有私密的一半,任何 NAS(包括這一台)都無法還原加密副本。按下 我已妥善保存,然後按下 儲存備份設定。 立即複製私密金鑰:範例 AGE-SECRET-KEY、其公開的一半,以及「我已妥善保存」按鈕

副本以 age 加密。建立新金鑰後,之後的執行都用新金鑰加密,較舊的副本仍需要舊的私密金鑰。本機資料夾的副本則永遠不加密。

05立即備份

頁面頂部的 立即備份 會立刻開始一次執行。

立即備份按鈕

同一天的兩次執行只算一次:較新的執行完成時,當天較早的執行會被移除。因此下午的 立即備份 會取代當天早上的排程執行。若早上那次的狀態很重要,請先將該次執行複製到其他地方。

06驗證與還原

執行 列表會顯示每次執行及其副本。執行列中的按鈕為 驗證、還原 與 刪除。驗證 會把執行內容讀回檢查:每個封存檔比對其 sha256、每份 SVN 副本執行 svnadmin verify,並對 Git 執行 git fsck 且檢查 Forgejo 的資料庫。

執行紀錄:一次 3.0 GB 的執行,已完成,已複製到備份資料夾、一個本機資料夾與一個 rsync 目標,最近一次檢查已驗證,並附有驗證、還原與刪除按鈕

還原 會還原 全部、一個 Git 儲存庫、一個 SVN 儲存庫、一個 Bucket 或 一個專案資料夾。

  • 在該次執行的副本通過檢查之前,NAS 上的任何內容都不會變更;若有副本檢查失敗,還原就會停止。
  • 還原所取代的內容會移到資料目錄的垃圾桶中保留 7 天,因此還原可以復原。VS Code 設定檔與應用程式的設定是例外:它們會被直接取代,垃圾桶中不會留下副本。
  • 還原單一儲存庫或單一專案資料夾時,模組會繼續執行。
  • 還原 全部 前,系統會要求您先勾選 我了解還原的資料將回到 … 備份時的狀態。還原會停止各模組;若備份包含設定,bvsd 會以這些設定重新啟動,所有工作階段都會結束,包括您的。備份之後才建立的專案或 HOME 資料夾會保留。
從備份還原:已選擇全部、說明將取代內容的警告、已勾選「我了解還原的資料將回到 … 備份時的狀態」,以及「還原」按鈕