How to Securely Automate Database Backups with Databasus
Databasus is a free, open‑source, self‑hosted backup tool that supports PostgreSQL, MySQL, MariaDB and MongoDB, offers flexible scheduling, multiple storage backends, enterprise‑grade encryption, team collaboration features, and can be installed via a simple script or Docker.
Overview
Databasus is a free, open‑source, self‑hosted database backup tool. It can back up PostgreSQL, MySQL, MariaDB, and MongoDB instances and store the backup files in a variety of locations such as S3‑compatible storage, Google Drive, FTP, or a local directory. Progress and result notifications can be sent to Slack, Discord, Telegram, email, or custom webhooks.
Supported Databases
PostgreSQL 12‑18
MySQL 5.7, 8, 9
MariaDB 10, 11
MongoDB 4‑8
Backup Scheduling
Flexible schedules: hourly, daily, weekly, monthly, or custom cron expressions.
Precise execution windows (e.g., 04:00 am low‑traffic period).
Built‑in compression reduces backup size by 4‑8× with ~20 % overhead.
Storage Targets
Local server or VPS directory.
Cloud storage: Amazon S3, Cloudflare R2, Google Drive, NAS, Dropbox, SFTP, Rclone, etc.
All data is encrypted before leaving the host, enabling zero‑trust storage on shared services.
Security
AES‑256‑GCM encryption for backup files.
Zero‑trust model: encrypted data is useless to attackers.
Sensitive connection credentials are stored encrypted and never appear in logs.
Backups are performed with a read‑only database user, preventing accidental data modification.
Installation
Automated Linux script (root required)
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bashDocker deployment
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestThis command starts the service, mounts a persistent volume for backup data, and configures the container to restart automatically after a host reboot.
Quick start guide
Open the web UI at http://localhost:4005.
Click “New Database” and follow the wizard to add a database connection (host, port, credentials, and optional read‑only user).
Define a backup schedule using the preset options or a custom cron expression.
Select a storage destination (local path, S3 bucket, Google Drive, etc.).
Optionally configure notification channels (email, Telegram, Slack, webhook).
Save the configuration; Databasus validates the settings and starts the backup job according to the schedule.
Source repository
GitHub:
https://github.com/databasus/databasusJava Backend Technology
Focus on Java-related technologies: SSM, Spring ecosystem, microservices, MySQL, MyCat, clustering, distributed systems, middleware, Linux, networking, multithreading. Occasionally cover DevOps tools like Jenkins, Nexus, Docker, and ELK. Also share technical insights from time to time, committed to Java full-stack development!
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
