Database backups should not be this hard. This tool makes it simple.
GitHub RepoImpressions2k

Database backups should not be this hard. This tool makes it simple.

@githubprojectsPost Author

Project Description

View on GitHub

One Command, One Dump: Database Backups Made Simple

If you've ever managed a database, you know the drill. Backups are essential, but setting them up can be a tangled mess of credential management, format flags, and scheduling scripts. It feels like it shouldn't be this hard. What if you could just point at a database and get a dump with a single, clean command?

That's exactly the problem onedump solves. It's a straightforward command-line tool that strips away the complexity of database backups. No more remembering the arcane syntax for pg_dump or mysqldump flags. You configure your connection once, and from then on, it's just onedump.

What It Does

Onedump is a unified interface for dumping data from various databases. You tell it where your database is and what kind it is (PostgreSQL, MySQL, etc.), and it handles the rest. It uses the standard, battle-tested native dump tools under the hood (like pg_dump), so you get reliable, native-format dumps, but without having to remember each tool's specific incantations.

You define your database connections in a simple config file, and then backing up is as simple as running onedump my_database. It outputs the dump to stdout, ready to be piped to a file, sent to gzip, or uploaded directly to cloud storage.

Why It's Cool

The beauty of onedump is in its simplicity and developer-centric approach.

  • One Config to Rule Them All: Store all your database connection details (host, port, user, password, type) in a single .onedump.json file. No more environment variable juggling or writing connection strings in cron jobs.
  • Database Agnostic: It provides a consistent command for PostgreSQL, MySQL, SQLite, and Redis. You use the same simple onedump command regardless of the backend.
  • Composability: Because it outputs to stdout, it fits perfectly into the Unix philosophy. Pipe it to gzip, ssh, or your backup script of choice. It does one job and does it well.
  • It's Not Magic, It's Practical: It doesn't try to reinvent the wheel or create a new backup format. It's essentially a smart, consistent wrapper around the official tools you already trust. This makes it predictable and easy to adopt.

How to Try It

Getting started takes about a minute. You'll need Node.js installed.

  1. Install it globally via npm:

    npm install -g onedump
    
  2. Create a configuration file in your home directory (~/.onedump.json) and define your databases:

    {
      "dbs": {
        "my_app_prod": {
          "type": "postgres",
          "host": "localhost",
          "port": 5432,
          "user": "myuser",
          "password": "mypassword",
          "database": "mydatabase"
        }
      }
    }
    
  3. Run a dump. The backup will be printed to your terminal.

    onedump my_app_prod
    
  4. To save it to a file, just redirect the output:

    onedump my_app_prod > my_backup.sql
    

For all the details, connection examples for other database types, and configuration options, check out the GitHub repository.

Final Thoughts

Onedump is a classic example of a tool that addresses a specific, common pain point without over-engineering. It's not for complex backup orchestration with retention policies and multi-region storage. For that, you'd want a more heavyweight solution.

But for developers who need quick, reliable dumps for local development, simple production backups, or as part of a larger script, it's incredibly useful. It removes the mental overhead and lets you get back to the work that actually matters. Sometimes, the best tools are the ones that just get out of your way.


Follow us for more cool projects: @githubprojects

Back to Projects
Project ID: 4b002e0a-7e4c-4f3b-a541-ed0efb5eda41Last updated: January 9, 2026 at 09:08 AM