Portabase GFS保留策略指南:一次配置搞定小时-日-周-月多级备份保留

发布时间:2026/10/11 21:48:48

Portabase GFS保留策略指南:一次配置搞定小时-日-周-月多级备份保留 【免费下载链接】portabasePortabase - Database backup restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume项目地址https://gitcode.com/gh_mirrors/por/portabase点击查看免费下载Portabase 是一款面向 PostgreSQL、MySQL、MariaDB、MsSQL、SQLite、MongoDB、Redis 及 Docker Volume 的开源数据库备份与恢复工具。本文带你像专家一样配置它的 GFSGrandfather-Father-Son保留策略用小时-日-周-月-年多级保留同时满足快速回滚和长期归档需求。什么是GFS保留策略为什么推荐它GFS祖父-父亲-儿子是业界经典的多级备份轮换策略核心思想一句话概括近期备份留得多、恢复粒度细远期备份留得少、保留时间长。例如保留最近 24 小时的小时级备份、7 天日备份、4 周周备份、12 个月月备份、3 年年备份。这样你既能回滚到一小时前也能恢复到三年前而且总文件数可控、存储不爆炸。Portabase 提供三种保留策略其中 GFS 被官方标记为Recommended推荐策略类型适用场景说明count按数量简单需求只保留最近 N 份备份1~100days按天数简单需求保留 X 天内的备份1~3650 天gfs轮换生产/关键系统 ⭐小时/日/周/月/年五级保留企业级标准GFS 选项在界面上的介绍正是Grandfather-Father-Son rotation for enterprise/critical systems即面向企业和关键系统的备份轮换方案。一键配置步骤在哪里设置保留策略配置入口只有两步进入项目中的某个数据库详情页打开Backup Retention Policy侧边抽屉选择策略类型并填写数值点击Save Retention Policy即可。保存后Portabase 的定时任务会按你的策略自动清理过期备份全程无需手动干预。策略配置界面说明界面由三部分组成策略类型选择count / days / GFS RotationGFS 带Recommended徽章当前生效类型带Actual徽章数值配置区GFS 模式下有 Hourly、Daily、Weekly、Monthly、Yearly 五个输入框Storage Impact Summary存储影响摘要实时估算每个数据库会保留多少备份文件并给出 Low / Medium / High 的用量等级帮你提前预判存储成本。相关界面源码在 retention-policy-form.tsx 和 retention-policy-sheet.tsx保存逻辑由 retention-policy.action.ts 完成。五级参数详解小时-日-周-月-年保留范围每个层级的含义是每个时间桶内保留 1 份备份可配置的保留范围如下层级含义保留范围典型用途Hourly小时每小时桶保留最近 N 个小时0 ~ 168最长一周快速回滚误操作Daily日每日桶保留最近 N 天1 ~ 31必选至少 1应对当天/近几天故障Weekly周每周桶保留最近 N 周0 ~ 52回滚到上周某版本Monthly月每月桶保留最近 N 个月0 ~ 120最长 10 年月度审计、季度对比Yearly年每年桶保留最近 N 年0 ~ 50合规归档、长期保存填写为 0 表示禁用该层级。所有取值上限都在表单校验中严格限制见 retention-policy.schema.ts。官方默认值与数据库默认值Portabase 有两组默认值可以直接抄作业新建数据库时的数据库表默认值07_database.tshourly0, daily7, weekly4, monthly12, yearly3引导向导Onboarding推荐值db-settings.ts同样是{hourly: 0, daily: 7, weekly: 4, monthly: 12, yearly: 3}这是一套非常均衡的入门配置约 26 份文件/数据库/年覆盖最近 7 天 最近 4 周 最近 12 个月 最近 3 年。⚠️ 小时层级的一个重要前提界面对 Hourly 字段有一条醒目的黄色提示默认RETENTION_CRON任务每天只跑一次若不把该环境变量覆盖为至少每小时执行一次小时层级不会生效。生产环境默认每天 07:00 执行一次保留清理env.mjs。所以想启用小时级保留 → 先确认备份任务本身按小时调度并把RETENTION_CRON调整为更高频率备份每天一次 → 直接设hourly0把预算留给日/周/月/年。工作原理Portabase如何自动执行GFS轮换配置保存后背后是一条完整的自动化链路定时触发保留任务由 cron 作业retentionJob调度tasks/index.ts默认生产环境每天 07:00 运行策略解析任务遍历所有未删除的数据库解析其生效策略tasks/database/index.ts。支持数据库级覆盖项目级——若数据库没有自己的保留策略则继承所属项目的策略policy-resolution.ts方便统一管理分桶筛选GFS 核心算法retention-gsf.ts按备份创建时间归入小时桶 / 日桶 / 周桶周一起始/ 月桶 / 年桶每个桶只保留第一份成功的备份不在保留集合内的备份会被自动删除延迟清理被标记删除的备份记录还会由独立的清理任务按CLEANING_BACKUPS_RETENTION_DAYS分批彻底清除backups-cleanup.ts。一句话总结你只需要填 5 个数字剩下的分级晋升 过期淘汰Portabase 全自动完成。推荐配置方案按场景选参数场景HourlyDailyWeeklyMonthlyYearly说明 入门/个人074123官方默认约 26 份文件覆盖 3 年 生产核心库0148243翻倍近期粒度留 2 年月度归档 高频变更需小时级2474123可回滚到 1 小时前需配合小时级备份与更频繁的RETENTION_CRON 合规归档074601010 年年度归档 5 年月度满足审计要求 小技巧每调整一次数值界面上的Storage Impact Summary会立刻显示预计保留文件数和用量等级≤10 份为 Low、≤30 份为 Medium、更多为 High保存前先对照你的存储预算确认即可。常见配置误区清单误区 1只填 Hourly、不填其他层级—— GFS 的价值在长期保留小时层过期后没有兜底务必保证daily ≥ 1该字段也强制最少为 1误区 2以为 Hourly 填了就能用—— 备份任务与RETENTION_CRON都必须至少小时级调度否则该层级形同虚设误区 3把 Monthly 拉到 120 就完事—— 年度层最多 50 年才是超长周期归档的主力月度留太多只会挤压存储误区 4每个数据库都单独配置—— 可以在项目级配置一套统一策略数据库未单独配置时自动继承需要差异化时再在数据库级覆盖。总结三步成为备份保留专家选类型生产环境直接选 GFS Rotation填五级从官方默认{0, 7, 4, 12, 3}出发按场景上调看摘要用 Storage Impact Summary 核对文件数与存储用量然后 Save。配置完成后Portabase 的定时任务会持续按策略自动轮换备份小时级快速回滚 年級长期归档一次搞定——这就是企业级备份该有的样子。 更多相关实现可参考保留策略表单 retention-policy-form.tsx、GFS 执行逻辑 retention-gsf.ts、策略继承规则 policy-resolution.ts。赞分享【免费下载链接】portabasePortabase - Database backup restore tool for PostgreSQL, MySQL, MsSQL, MariaDB, Firebird SQL, SQLite, MongoDB, Redis and Docker Volume项目地址https://gitcode.com/gh_mirrors/por/portabase点击查看免费下载相关推荐5分钟上手lib-jitsi-meet新手必备的API调用示例与最佳实践5分钟上手lib jitsi meet新手必备的API调用示例与最佳实践 lib jitsi meet是一个功能强大的低级别JavaScript视频API能SCRFD重新定义实时人脸检测的技术边界与商业价值SCRFD重新定义实时人脸检测的技术边界与商业价值 在实时人脸分析需求爆炸式增长的今天传统检测算法面临着精度与效率难以兼顾的困境。SCRFDSample人工智能计算机视觉深度学习拯救存储空间Duplicati GFS备份策略让你的数据保留更智能拯救存储空间Duplicati GFS备份策略让你的数据保留更智能 你是否遇到过备份文件占用越来越多空间的问题随着时间推移无限制的备份版本不仅浪费存储空间应用桌面应用CLI存储创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/11 21:48:48

PC算法Python实战:条件独立检验、骨架学习与因果图构建

简介:一份用Python实现PC(Partial Correlation)算法的完整项目源码,直观展示条件独立检验与因果网络结构学习的核心过程,通过部分相关分析剔除间接关联、识别变量间的直接依赖关系,适合希望从理论与代码层面…

2026/10/11 22:44:15

Codex驱动的Windows C盘空间审计方法论

1. 项目概述:这不是清理垃圾,而是一场系统级空间审计“我用 Codex,给 C 盘腾出 300 多 GB”——这句话在技术社区刷屏时,我第一反应不是惊讶,而是立刻打开任务管理器看了眼自己机器上那个常年卡在98%的C盘使用率。很多…

2026/10/11 22:44:15

MCP协议与Skills架构:Agent工程化落地实战指南

1. 项目概述:这不是又一个“AI概念课”,而是一份可执行的Agent工程实践路线图“MCPAgent Skills”这个组合词在2025年下半年突然密集出现在多个技术社区的讨论帖、GitHub star飙升的仓库名、以及某主流视频平台的算法推荐流里。它不是某个新发布的框架&a…

2026/10/11 22:44:15

LangChain 1.3实战:PDF字段提取与跨文档比对的生产级方案

1. 这不是“又一个LangChain教程”,而是一份能让你真正写出可用AI应用的实战手记 你点开这个标题,大概率是因为—— 刚在B站搜“LangChain 教程”,前五页全是“30分钟入门”“保姆级讲解”“从零开始”,结果点进去发现&#xff1…

2026/10/11 22:44:15

Cheat Engine 6.8.1 源码解析:内存扫描与调试器改造实战

简介:Cheat Engine 6.8.1 源码包面向游戏逆向、内存调试与安全分析方向的学习者与开发者,提供动态内存扫描、读写与指针追踪等核心机制的完整实现参考。压缩包共 1523 个文件,约 8.45MB,以 426 个 pas 与 181 个 h 文件构成 Pasca…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑