返回首页

Databasus 用于 PostgreSQL 和 MySQL 的备份

Databasus — 开源工具,用于 PostgreSQL、MySQL、MongoDB 的备份,支持 PITR、加密和通知。在 Docker 或 Kubernetes 中部署。功能描述、安装和改名原因。

Databasus:Docker 中的 PostgreSQL、MySQL、MongoDB 备份
Advertisement 728x90

Databasus:PostgreSQL、MySQL、MongoDB 自动化备份的开源解决方案

Databasus 为 PostgreSQL(主要支持)、MySQL、MariaDB 和 MongoDB 提供自动化备份。只需一条命令即可通过 Docker 部署,支持本地存储、S3、Cloudflare R2、Google Drive、Azure Blob、NAS、SFTP 和 rclone。通知方式包括 Slack、Discord、Telegram、MS Teams、电子邮件和 webhook。数据加密、审计日志、项目和访问管理。

支持自托管和云端数据库,提供逻辑/物理/增量备份,并支持 PostgreSQL 的 PITR WAL 流式传输。两种模式:远程(直接连接)和基于代理(从数据库服务器流式传输)。

部署方法

针对不同环境提供四种安装选项。

Google AdInline article slot

Shell 脚本

自动 Docker 安装并启动:

sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bash

Docker Compose

文件 docker-compose.yml

services:
  databasus:
    container_name: databasus
    image: databasus/databasus:latest
    ports:
      - "4005:4005"
    volumes:
      - ./databasus-data:/databasus-data
    restart: unless-stopped

运行:docker compose up -d

Google AdInline article slot

Docker run

docker run -d \
  --name databasus \
  -p 4005:4005 \
  -v ./databasus-data:/databasus-data \
  --restart unless-stopped \
  databasus/databasus:latest

Kubernetes Helm

helm install databasus oci://ghcr.io/databasus/charts/databasus \
  -n databasus --create-namespace

kubectl port-forward svc/databasus-service 4005:4005 -n databasus

所有情况下均可通过 http://localhost:4005 访问。

主要特性

  • 数据库:PostgreSQL(带 WAL 的 PITR)、MySQL/MariaDB、MongoDB。
  • 存储:本地、S3/R2、Google Drive、Azure Blob、NAS、SFTP、rclone。
  • 通知:Slack、Discord、Telegram、Teams、电子邮件、webhook。
  • 安全:备份和密钥加密、审计日志、按项目 RBAC。
  • 模式:开放数据库使用远程模式,隔离数据库使用基于代理模式。
  • 备份类型:逻辑、物理、增量。

界面支持深色和浅色主题,Web UI 运行在 4005 端口。

重命名历史

该项目源于 Postgresus 2.0,后者仅专注于 PostgreSQL。在 GitHub 上获得超过 1,000 个星标以及社区请求后,添加了对 MySQL、MariaDB 和 MongoDB 的支持。

Google AdInline article slot

重命名是由以下原因促使的:

  • 功能扩展超出 PostgreSQL。
  • 违反“Postgres”商标——自 2020 年起,未经合理使用禁止在名称中使用。
  • 风险防范(例如,在不可预见的情况下可能丢失 Docker Hub 的拉取次数)。

PostgreSQL 现在对合理使用较为宽容,但作者选择中性的名称 Databasus 以实现更广泛的适用性。

关键点

  • PostgreSQL 通过 WAL 流式传输支持 PITR。
  • 基于代理模式,用于备份无外部访问的封闭数据库。
  • 所有敏感数据和备份均加密。
  • 多租户:项目、用户、审计。
  • 在 Docker/K8s 中无依赖快速部署。

— Editorial Team

Advertisement 728x90

继续阅读