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