An Open-source CLI tool for backup your databases, files to cloud storages
A

An Open-source CLI tool for backup your databases, files to cloud storages

An Open-source CLI tool for backup your databases, files to cloud storages

CLI
2,703 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

A Simple CLI Tool to Back Up Your Databases and Files

As developers, we know data is precious. Whether it's a production database, a collection of configuration files, or a local project directory, losing it is not an option. Setting up reliable, automated backups, however, often gets pushed to the "someday" list. It can feel like a chore involving complex scripts, cloud provider APIs, and cron job debugging.

That's where GoBackup comes in. It's an open-source CLI tool that cuts through the complexity. It offers a straightforward, declarative way to automate backups of your databases and files to a variety of cloud storage services. Think of it as a unified, configurable pipeline for your peace of mind.

What It Does

GoBackup is a single binary tool written in Go. You define what you want to back up (MySQL, PostgreSQL, Redis, directories, etc.) and where you want to send it (S3, Google Cloud Storage, SFTP, local storage, and more) in a simple YAML configuration file. Then, you run it manually or set it up on a schedule. It handles the compression, encryption, and transfer, keeping a tidy archive of your backups.

Why It's Cool

The beauty of GoBackup is in its simplicity and its single-purpose design. It doesn't try to be a full DevOps platform. Instead, it does one job well.

  • Unified Configuration: You manage everything—your databases, files, and storage destinations—in one clean gobackup.yml file. No need to juggle separate scripts for PostgreSQL and your uploads directory.
  • Database Agnostic: It comes with built-in "dumpers" for the usual suspects: MySQL, PostgreSQL, Redis, MongoDB, and even supports piping in custom commands for anything else.
  • Storage Flexibility: Your backup isn't locked in. You can send it to multiple places simultaneously (like S3 and a local NAS) with a few lines of config.
  • Encryption Ready: You can easily integrate GnuPG to encrypt your backups before they ever leave your server, adding a crucial layer of security.
  • It's Just a Binary: No language runtime dependencies. You download it, configure it, and run it. This makes it incredibly easy to deploy on any server.

How to Try It

Getting started is straightforward. The easiest way is to download the latest release for your platform from the GitHub Releases page.

  1. Download and install:

    # Example for Linux/macOS
    wget https://github.com/gobackup/gobackup/releases/download/v2.0.0/gobackup-linux-amd64.zip
    unzip gobackup-linux-amd64.zip
    sudo mv gobackup /usr/local/

Did you like this issue?

Join our weekly newsletter

Related Projects

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Dec 21, 2025