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.ymlfile. 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.
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/