
10分鐘配置Databasement自動備份每日/每周計劃與GFS保留策略全解析【免費下載鏈接】databasementSelf-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite Redis to S3, SFTP, Samba or local storage. SSH Tunnel support.項目地址: https://gitcode.com/gh_mirrors/da/databasementDatabasement是一款自托管Self-hosted的數(shù)據(jù)庫自動備份管理工具提供 Web 界面可對 MySQL、PostgreSQL、MariaDB、MSSQL、MongoDB、SQLite 與 Redis 進行定時備份與一鍵恢復備份文件可傳輸?shù)?S3、SFTP、Samba 或本地存儲并支持 SSH 隧道。本文將帶你用 10 分鐘完成自動備份配置徹底講清**每日/每周備份計劃Cron 調(diào)度**與GFS 保留策略這兩個核心概念。一、先搞懂Databasement 自動備份的兩個核心配置自動備份前只需要理解兩個概念概念作用對應設置項備份計劃Backup Schedule決定什么時候備份本質(zhì)是一條 Cron 表達式如0 2 * * *每天凌晨 2 點保留策略Retention Policy決定備份留多久過期快照自動刪除按天數(shù) / GFS 分層 / 永久保留系統(tǒng)自帶兩條計劃供你直接使用Daily每日默認0 2 * * *每天凌晨 2 點Weekly每周默認0 3 * * 0每周日凌晨 3 點你也可以新建計劃比如每 6 小時一次、每月 1 號等任意 Cron 表達式。計劃創(chuàng)建后會自動注冊到調(diào)度器無需手動配置 crontab——調(diào)度注冊邏輯見 routes/console.php執(zhí)行入口見 app/Console/Commands/RunScheduledBackups.php。二、10分鐘配置步驟三步開啟自動備份第 1 步添加數(shù)據(jù)庫服務器并測試連接在 Web 界面新建數(shù)據(jù)庫服務器填寫主機、端口、用戶名與密碼支持 MySQL、PostgreSQL、MSSQL、MongoDB、Redis、SQLite、Firebird 等類型??缇W(wǎng)段或需要加密傳輸?shù)膱鼍翱膳渲肧SH 隧道。第 2 步創(chuàng)建存儲卷Volume選擇備份文件的落地位置支持本地存儲LocalS3 兼容對象存儲S3SFTPSamba / Azure / FTP第 3 步為服務器配置備份卡片在數(shù)據(jù)庫服務器詳情頁的備份配置區(qū)一條備份卡片就是一份完整的自動備份規(guī)則選擇計劃Daily、Weekly 或你自定義的計劃選擇存儲卷一次可掛多個卷備份文件會同時傳往每個卷選擇要備份的庫全部庫 / 指定庫 / 正則模式匹配三種方式設置保留策略按天數(shù)或 GFS見下文表單默認值與校驗規(guī)則定義在 app/Livewire/DatabaseServer/BackupForm.php其中默認保留 14 天GFS 默認 7 天/4 周/12 月。配置完成后保存到點即自動執(zhí)行備份異步運行不阻塞你使用界面。小技巧備份路徑支持{year}/{month}/{day}日期占位符可讓快照按日期自動歸檔到子目錄便于人工管理。三、每日/每周計劃怎么配Cron 表達式速查計劃名稱 Cron 表達式是 Databasement 調(diào)度的核心。界面會把表達式翻譯成自然語言如每天 02:00配置時一目了然翻譯邏輯見 app/Support/Formatters.php。常用計劃速查表目標Cron 表達式說明每天凌晨 2 點0 2 * * *默認 Daily 計劃每周日 03:000 3 * * 0默認 Weekly 計劃每 6 小時一次0 */6 * * *高頻變更庫每月 1 號 04:000 4 1 * *月度歸檔建議生產(chǎn)環(huán)境以每日為主計劃數(shù)據(jù)波動大的業(yè)務可再加一個高頻計劃指向不同卷把高頻近端 每周遠端組合起來。四、GFS 保留策略全解析用 23 份備份替代 365 份這是 Databasement 最有價值的功能之一。GFSGrandfather-Father-Son祖父-父親-兒子是一種分層保留策略近期備份保留得多、便于快速恢復越久遠的備份保留得越少、用于長期歸檔——在節(jié)省存儲和長期可恢復之間取得平衡。GFS 的三層結(jié)構(gòu)層級含義官方默認值日層Son保留最近 N 份每日備份7周層Father最近 N 周內(nèi)每周保留 1 份4月層Grandfather最近 N 個月內(nèi)每月保留 1 份12按默認 7/4/12 運行一年后每個數(shù)據(jù)庫大約只保留23 份備份而不是 365 份——存儲節(jié)省約 94%同時覆蓋了全年任意時間點的恢復需求。時間線示意今天 ?─────────────────────────────────────── 一年前 ├── 日層 ┤7 份 ├── 周層 ────────┤4 份 └── 月層 ─────────────────────────────────────┘12 份GFS 參數(shù)取值范圍配置時注意各層的合法范圍校驗邏輯同樣在 app/Livewire/DatabaseServer/BackupForm.php日層0 ~ 90周層0 ~ 52月層0 ~ 24至少配置一層全部留空會校驗失敗三種保留策略怎么選Databasement 提供三種策略界面中直接切換策略說明適用場景按天數(shù)保留最近 N 天1~365超期全刪開發(fā)環(huán)境、短期需求如保留 14 天GFS按上表分層保留生產(chǎn)環(huán)境、合規(guī)要求如 7d/4w/12m永久Forever永不過期歸檔合規(guī)、外部已有清理機制官方推薦的典型組合開發(fā)/測試用簡單7-14 天小型生產(chǎn)應用用簡單30 天業(yè)務關鍵數(shù)據(jù)用GFS7 天/4 周/12 月強合規(guī)場景用GFS14 天/8 周/24 月。五、兩個容易忽略的細節(jié)1. 保留策略是按數(shù)據(jù)庫而不是按服務器計算的。如果你在一個配置里備份了 3 個數(shù)據(jù)庫并使用 GFS7 日那么每個數(shù)據(jù)庫各自保留最近 7 份共 21 份。估算存儲空間時別忘乘數(shù)據(jù)庫數(shù)量。2. 過期快照的自動清理是獨立任務。系統(tǒng)每天默認 04:00 執(zhí)行snapshots:cleanup清理過期快照05:00 還有snapshots:verify-files校驗備份文件是否真實存在于各存儲卷上防止數(shù)據(jù)庫里有記錄、卷上文件卻丟了的靜默損壞。調(diào)度注冊見 routes/console.php清理核心邏輯見 app/Services/Backup/SnapshotCleanupService.php。六、最佳實踐清單? 上生產(chǎn)前先測試連接并手動跑一次備份 一次恢復演練? 用專用低權(quán)限備份賬號連接數(shù)據(jù)庫? 同時掛本地卷 遠程卷S3/SFTP一份數(shù)據(jù)兩處存放? 為關鍵業(yè)務開啟通知渠道Webhook / Gotify / Discord 等備份失敗第一時間收到告警? 備份失敗時查看快照詳情中的失敗原因連接、磁盤、權(quán)限、超時四類最常見總結(jié)Databasement 把定時備份 智能保留做成了可視化配置計劃Cron決定何時備份GFS 決定保留多久。10 分鐘完成三步配置后你的數(shù)據(jù)庫就有了每日/每周自動備份與全年可回溯的恢復點且?guī)缀醪徽碱~外存儲空間。更多細節(jié)可閱讀官方文檔 docs/docs/user-guide/backups.md 與 docs/docs/self-hosting/docker-compose.md 中的自托管部署指南?!久赓M下載鏈接】databasementSelf-hosted database backup manager with a web UI. Schedule, backup, and restore MySQL, PostgreSQL, MariaDB, Microsoft SQL Server, MongoDB, SQLite Redis to S3, SFTP, Samba or local storage. SSH Tunnel support.項目地址: https://gitcode.com/gh_mirrors/da/databasement創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考