"Backup"
- JSONL 匯出與備份格式
JSONL 作為匯出和備份格式的設計 — 人類可讀、grep 友好、SQLite 損壞時的重建來源
- 備份與還原的地基
有了線上資料、知道「要備份」但不確定備什麼、多久一次、以及為什麼「沒測過還原的備份等於沒有」時回來讀 — 備份的地基認識
- 無 SSH 環境的資料庫備份與變更管理
在只有 phpMyAdmin 或有限遠端連線的無 SSH 環境裡,怎麼建立可靠的資料庫備份策略、schema 變更紀律與還原演練流程
- MySQL PITR + Backup Strategy:備份不是「拷貝資料」、是 N 點任意 restore 的能力
MySQL backup 不只是 mysqldump、是 *full backup + binlog 連續流* 組合才能達成 PITR(point-in-time recovery)。本文走「PITR 是能力、不是動作」、完整備份工具對比(mysqldump / Percona XtraBackup / MyDumper / LVM・EBS snapshot)、binlog-based recovery 流程、配置 step-by-step、5 production 踩雷(GTID 處理不一致 / binlog gap / backup 沒 verify / RPO 不到 1 分鐘的代價 / encryption key 沒備份)、跟 PG pitr-wal-archiving sibling 對比
- PostgreSQL PITR + WAL archiving:從 base backup 到 point-in-time recovery 的完整鏈
Base backup + WAL archive 構成 PITR 的雙軌資料、archive_command + restore_command 配置、用 pgBackRest / WAL-G 替代手寫腳本、production 踩雷(archive 靜默失敗 / archive lag / 錯誤 target time / base backup 過期未清 / timeline 分歧 recovery 模糊)、跟 Patroni + monitoring 整合
- mysqldump
MySQL / MariaDB 的 CLI 備份工具,把資料庫匯出成 SQL 語句的純文字檔
- 7.43 兩個網路之間的連線安全:可達範圍、連線方向與流入的資料、被入侵端改不到的限制、應用層認證、監控主機的位置、金鑰與控制平面、異地備份的寫入憑證與連線紀錄
地端主機與雲端主機、或兩個雲端業者的主機以 VPN 或存取金鑰接起來之後的安全設計與評估:連線清單上各台連得到什麼、每一台各假設一次被入侵、限制要放在被入侵端沒有寫入路徑的地方、連線的發起方向與流入的資料、VPN 之內的應用層認證、監控主機與管理者裝置的位置、WireGuard 與 Tailscale 的金鑰與控制平面、異地備份的寫入憑證,以及連線本身的紀錄
- 7.45 加密備份的密碼、key 檔與主金鑰:換密碼與換主金鑰的差別、密碼外洩與遺失的處置,以 restic 為例
加密備份工具把資料交給一把隨機產生的主金鑰加密、密碼只用來解開包著主金鑰的 key 檔:這個分層換到的多份 key 檔與不重新加密的換密碼、換密碼之後舊副本與外流的 key 檔還解得開什麼、什麼條件下要建新 repository 換掉主金鑰,以及密碼遺失時沒有任何找回的路
- WORM Storage(不可變儲存)
要讓備份或稽核紀錄在寫入它的存取憑證外洩之後仍然刪不掉、改不了時,查一次寫入多次讀取的儲存怎麼做到、物件鎖定的兩種模式差在哪裡,以及版本保留與它的差別
- restic sidecar 容器的密碼操作:啟動腳本依 exit code 判斷、換密碼、外洩後搬到新 repository 與唯讀還原演練
restic 以 Docker Compose 的 sidecar 容器做自架備份、要換密碼或密碼可能外洩時:啟動腳本怎麼分辨 repository 不存在與密碼錯誤、只改 .env 為什麼讓備份停擺、容器還在跑時換密碼的步驟、外洩後建新 repository 並用 restic copy 搬快照,以及唯讀掛載時 restore 重試十幾分鐘才失敗的成因
- SQLite 換機搬遷演練:Litestream restore、UID 對齊與停用舊主機的複製
家用主機要換新機、SQLite 資料庫由 Litestream 持續備份時,從 replica 把資料還原到新主機的步驟、只複製資料庫主檔會少掉的資料、還原後容器寫入時出現 attempt to write a readonly database 的成因,以及舊主機的複製沒停掉時 replica 裡會少掉哪些寫入
- MySQL Backup Restore Drill
MySQL logical dump、physical backup frame、binlog position、restore validation 與 RPO / RTO evidence
- SQLite Backup Restore Drill
SQLite .backup、VACUUM INTO、restore validation、sidecar file handling 與 RPO / RTO note 的操作說明
- SQLite file lifecycle 與 backup boundary
把 SQLite 單檔案正式狀態拆成 WAL、backup API、restore drill、corruption recovery 與操作責任邊界