# databasus-zh **Repository Path**: leowhy/databasus ## Basic Information - **Project Name**: databasus-zh - **Description**: 免费、开源、自托管的数据库备份工具,国际化中文支持,随官方源代码随时更新,右上角中文化UI切换 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 1 - **Created**: 2026-01-26 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Databasus Logo

PostgreSQL、MySQL 和 MongoDB 备份工具

Databasus 是一个免费、开源、自托管的数据库备份工具(以 PostgreSQL 为重点)。支持将备份存储到不同位置(S3、Google Drive、FTP 等),并可通过多种渠道(Slack、Discord、Telegram 等)接收备份进度通知。之前名为 Postgresus(请参阅迁移指南)。

[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-336791?logo=postgresql&logoColor=white)](https://www.postgresql.org/) [![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql&logoColor=white)](https://www.mysql.com/) [![MariaDB](https://img.shields.io/badge/MariaDB-003545?logo=mariadb&logoColor=white)](https://mariadb.org/) [![MongoDB](https://img.shields.io/badge/MongoDB-47A248?logo=mongodb&logoColor=white)](https://www.mongodb.com/)
[![Apache 2.0 License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![Docker Pulls](https://img.shields.io/docker/pulls/rostislavdugin/postgresus?color=brightgreen)](https://hub.docker.com/r/rostislavdugin/postgresus) [![Platform](https://img.shields.io/badge/platform-linux%20%7C%20macos%20%7C%20windows-lightgrey)](https://github.com/databasus/databasus) [![Self Hosted](https://img.shields.io/badge/self--hosted-yes-brightgreen)](https://github.com/databasus/databasus) [![Open Source](https://img.shields.io/badge/open%20source-❤️-red)](https://github.com/databasus/databasus)

功能特性安装使用说明许可证贡献指南

🌐 Databasus 官网

Databasus Dark Dashboard Databasus Dashboard
--- ## ✨ 功能特性 ### 💾 **支持的数据库** - **PostgreSQL**: 12, 13, 14, 15, 16, 17 和 18 - **MySQL**: 5.7, 8 和 9 - **MariaDB**: 10 和 11 - **MongoDB**: 4, 5, 6, 7 和 8 ### 🔄 **定时备份** - **灵活调度**: 每小时、每天、每周、每月或自定义 cron 表达式 - **精确时间**: 可在指定时间运行备份(如凌晨 4 点流量低谷期) - **智能压缩**: 4-8倍空间节省,压缩开销约 20% ### 🗄️ **多种存储位置** (查看支持的存储) - **本地存储**: 将备份保留在您的 VPS/服务器上 - **云存储**: S3、Cloudflare R2、Google Drive、NAS、Dropbox、SFTP、Rclone 等 - **安全可控**: 所有数据都保存在您自己的基础设施中 ### 📱 **智能通知** (查看支持的渠道) - **多渠道支持**: 邮件、Telegram、Slack、Discord、Webhook - **实时更新**: 成功和失败通知 - **团队集成**: 非常适合 DevOps 工作流程 ### 🔒 **企业级安全** (文档) - **AES-256-GCM 加密**: 为备份文件提供企业级保护 - **零信任存储**: 备份数据经过加密,即使攻击者获取也无法使用,可安全存储在 S3、Azure Blob 等共享存储中 - **密钥加密**: 所有敏感数据都经过加密,永不在日志或错误信息中暴露 - **只读用户**: Databasus 默认使用只读用户进行备份,绝不存储任何可能修改您数据的内容 ### 👥 **团队协作** (文档) - **工作空间**: 为不同项目或团队分组管理数据库、通知和存储 - **访问控制**: 通过基于角色的权限控制谁可以查看或管理特定数据库 - **审计日志**: 跟踪所有系统活动和用户操作 - **用户角色**: 在工作空间内分配查看者、成员、管理员或所有者角色 ### 🎨 **用户体验友好** - **精心设计的 UI**: 简洁直观的界面,注重细节 - **深色/浅色主题**: 自由选择适合您工作流程的外观 - **移动端适配**: 随时随地通过任何设备查看备份状态 ### ☁️ **支持自托管和云数据库** Databasus 可与自托管 PostgreSQL 和云托管数据库无缝配合: - **云数据库支持**: AWS RDS、Google Cloud SQL、Azure Database for PostgreSQL - **自托管**: 任何您自行管理的 PostgreSQL 实例 - **为什么不支持 PITR?**: 云提供商已提供原生 PITR,外部 PITR 备份无法恢复到托管云数据库,因此对云托管 PostgreSQL 不切实际 - **实用粒度**: 对于 99% 的项目,每小时和每天的备份已足够,无需 WAL 归档的运维复杂性 ### 🐳 **自托管且安全** - **基于 Docker**: 轻松部署和管理 - **隐私优先**: 所有数据都保存在您的基础设施中 - **开源透明**: Apache 2.0 许可,可审查每一行代码 ### 📦 安装 (文档) 您可以通过以下四种方式安装 Databasus: - 自动化脚本(推荐) - 简单 Docker 命令 - Docker Compose 配置 - Kubernetes Helm 部署 Databasus Dashboard --- ## 📦 安装 您可以通过四种方式安装 Databasus:自动化脚本(推荐)、简单 Docker 命令或 Docker Compose 配置。 ### 方式一:自动化安装脚本(推荐,仅 Linux) 安装脚本将: - ✅ 安装 Docker 和 Docker Compose(如未安装) - ✅ 设置 Databasus - ✅ 配置系统启动时自动运行 ```bash sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh \ | sudo bash ``` ### 方式二:简单 Docker 运行 运行 Databasus 的最简单方式: ```bash docker run -d \ --name databasus \ -p 4005:4005 \ -v ./databasus-data:/databasus-data \ --restart unless-stopped \ databasus/databasus:latest ``` 此命令将: - ✅ 启动 Databasus - ✅ 将所有数据存储在 `./databasus-data` 目录 - ✅ 系统重启时自动重新启动 ### 方式三:Docker Compose 配置 创建 `docker-compose.yml` 文件: ```yaml services: databasus: container_name: databasus image: databasus/databasus:latest ports: - "4005:4005" volumes: - ./databasus-data:/databasus-data restart: unless-stopped ``` 然后运行: ```bash docker compose up -d ``` ### 方式四:Kubernetes Helm 部署 对于 Kubernetes 部署,可直接从 OCI 仓库安装。 **使用 ClusterIP + 端口转发(开发/测试):** ```bash helm install databasus oci://ghcr.io/databasus/charts/databasus \ -n databasus --create-namespace ``` ```bash kubectl port-forward svc/databasus-service 4005:4005 -n databasus # 访问 http://localhost:4005 ``` **使用 LoadBalancer(云环境):** ```bash helm install databasus oci://ghcr.io/databasus/charts/databasus \ -n databasus --create-namespace \ --set service.type=LoadBalancer ``` ```bash kubectl get svc databasus-service -n databasus # 访问 http://<外部IP>:4005 ``` **使用 Ingress(基于域名访问):** ```bash helm install databasus oci://ghcr.io/databasus/charts/databasus \ -n databasus --create-namespace \ --set ingress.enabled=true \ --set ingress.hosts[0].host=backup.example.com ``` 更多选项(NodePort、TLS、HTTPRoute for Gateway API),请参阅 [Helm Chart README](deploy/helm/README.md)。 --- ## 🚀 使用说明 1. **访问仪表盘**: 打开 `http://localhost:4005` 2. **添加第一个要备份的数据库**: 点击"新建数据库"并按照设置向导操作 3. **配置备份计划**: 选择每小时、每天、每周、每月或 cron 表达式 4. **设置数据库连接**: 输入数据库凭据和连接详情 5. **选择存储位置**: 选择备份存储位置(本地、S3、Google Drive 等) 6. **添加通知**(可选): 配置邮件、Telegram、Slack 或 Webhook 通知 7. **保存并启动**: Databasus 将验证设置并开始备份计划 ### 🔑 重置密码 (文档) 如果您需要重置密码,可以使用内置密码重置命令: ```bash docker exec -it databasus ./main --new-password="您的新安全密码123" --email="admin" ``` 将 `admin` 替换为要重置密码的用户的实际邮箱地址。 --- ## 📝 许可证 本项目采用 Apache 2.0 许可证 - 详见 [LICENSE](LICENSE) 文件 --- ## 🤝 贡献 欢迎贡献!请阅读 贡献指南 了解更多详情、优先级和规则。如果您想贡献但不知道从何开始,请通过 Telegram [@rostislav_dugin](https://t.me/rostislav_dugin) 联系我 您也可以加入我们庞大的开发者、DBA 和 DevOps 工程师社区:Telegram [@databasus_community](https://t.me/databasus_community) -- ## 📖 迁移指南 Databasus 是 Postgresus 的新名称。如果您愿意,可以继续使用最新版本的 Postgresus。如果要迁移,请按照 Databasus 的安装步骤进行。 仅重命名镜像是不够的,因为 Postgresus 和 Databasus 使用不同的数据文件夹和内部数据库名称。 您可以在旧 Postgresus 旁边部署新的 Databasus 镜像(先停止 Postgresus): ```yaml services: databasus: container_name: databasus image: databasus/databasus:latest ports: - "4005:4005" volumes: - ./databasus-data:/databasus-data restart: unless-stopped ``` 然后手动将数据库从 Postgresus 迁移到 Databasus。 ### 为什么将 Postgresus 重命名为 Databasus? Databasus 自 2023 年开发,最初是备份生产环境和个人项目数据库的内部工具。2025 年初作为开源项目在 GitHub 发布。2025 年底项目广受欢迎,2025 年 12 月迎来了更名的重要时刻。 这是项目成长的重要一步。原因如下: 1. Postgresus 不再只是为小项目提供 pg_dump UI 的小工具。它已成为面向个人用户、DevOps、DBA、团队、公司甚至大型企业的工具。每天有数万用户使用 Postgresus。Postgresus 已发展成为一个可靠的备份管理工具。最初的定位已不再适用:项目不仅仅是 UI 包装器,现在是一个完整的备份管理系统(尽管仍然易于使用)。 2. 支持新数据库:尽管主要重点是 PostgreSQL(以最有效的方式提供 100% 支持),且始终如此,但 Databasus 已添加 MySQL、MariaDB 和 MongoDB 的支持。以后将支持更多数据库。 3. 商标问题:"postgres" 是 PostgreSQL Inc. 的商标,不能用于项目名称。出于安全和法律原因,我们必须重命名项目。 ## AI 声明 在 issues 和讨论中有人问到项目开发中 AI 的使用问题。由于项目专注于安全性、可靠性和生产环境使用,在此说明 AI 在开发过程中的使用方式。 AI 作为助手用于: - 代码质量验证和漏洞搜索 - 清理和改进文档、注释和代码 - 开发过程中的辅助 - 人工审查后对 PR 和提交进行复核 AI 不用于: - 编写完整代码 - "氛围编程"方法 - 未经人工逐行验证的代码 - 未经测试的代码 项目具有: - 完善的测试覆盖(单元测试和集成测试) - 带测试和 linting 的 CI/CD 流水线自动化,确保代码质量 - 具有大型安全项目经验的开发人员验证 因此,AI 只是开发人员的助手和工具,用于提高生产力和确保代码质量。实际工作由开发人员完成。 此外,需要注意的是,我们不区分人类写的差代码和 AI 生成的"氛围代码"。任何要合并的代码都有严格要求,以保持代码库的可维护性。 即使代码是人工编写的,也不能保证一定被合并。完全不允许"氛围代码",所有此类 PR 默认都会被拒绝(参见[贡献指南](https://databasus.com/contribute))。 我们还注意到快速问题解决和安全[漏洞报告](https://github.com/databasus/databasus?tab=security-ov-file#readme)。