Database backup refers to the process of creating and storing copies of a database in order to protect it from data loss or corruption.

Why do you need to Backup your Database?

It is important for several reasons:

  1. Data Protection: Database backup ensures that valuable data is protected and can be restored in case of accidental deletion, hardware failure, or other disasters.
  2. Business Continuity: Having database backups allows businesses to recover quickly from data loss incidents and minimize downtime, ensuring uninterrupted operations.
  3. Compliance Requirements: Many industries and regulatory bodies have specific data retention and backup requirements that organizations must adhere to. Database backup helps meet these compliance standards.
  4. Version Control: Database backups provide the ability to revert to previous versions of the database, which can be useful for troubleshooting, testing, or undoing unintended changes.
  5. Disaster Recovery: In the event of a major catastrophe, such as a fire or natural disaster, database backups are essential for rebuilding the infrastructure and recovering critical data.

By regularly performing database backups and storing them securely, organizations can safeguard their data and ensure the integrity and availability of their databases.

15 Best Open-source Database Backend Server and Google Firebase Alternatives
Google Firebase is a Google-hosted cloud real-time NoSQL database for building mobile, web and desktop applications. It offers a database backend, an API, user registration and authentication, monitoring, user permissions, file and attachment store, and more. With Firebase, all that developers nee…
22 Free MySQL/ MariaDB Database Backup Tools and Scripts
MySQL is a popular open-source relational database management system (RDBMS). It is widely used for web-based applications and is known for its ease of use and scalability. MySQL is used by many popular websites, including Facebook, Twitter, and YouTube. MySQL Backup is the process of creating a c…
13 Free Open-source SQLite Database clients and managers
Best, free, open-source SQL database managers
14 Open-source Web-based SQL Database Managers
SQL stands for Structured Query Language, and it is a standardized language used to manage relational databases. It is used to create, modify, and query databases, and is commonly used in web development and data analysis. SQL allows users to manage large amounts of data, and to interact with that
16 Open-source and Free SQL Query Managers for PHP, C#, Python, Go, and JavaScript
SQL Query Managers are software tools that allow users to interact with databases using SQL (Structured Query Language) queries. These tools provide an interface for users to write SQL queries and execute them against a database. SQL Query Managers come with a variety of features that make it easie…

In the following list you can find several usable open-source backup solutions and scripts that can aid you in backing and restore your database.

1- SubstituteX: A Small simple SQL Database Backup Tool

This is a simple yet powerful tool that aids DevOps and Database admins to back up their SQL data with one click.

It supports scheduled backup, and update intervals, and SQL server authentication.

GitHub - Tuurash/SubstituteX: A Small Simple SQL Database Backup Tool
A Small Simple SQL Database Backup Tool. Contribute to Tuurash/SubstituteX development by creating an account on GitHub.

2- TidyBackups

TidyBackups allows for automation of deletion of Microsoft SQL backup files based on file type (.bak) creation age as well as compression using standard ZIP technology.

GitHub - matt40k/TidyBackups: Allows for automation of deletion of Microsoft SQL backup files based on file type (.bak) creation age as well as compression using standard ZIP technology
Allows for automation of deletion of Microsoft SQL backup files based on file type (.bak) creation age as well as compression using standard ZIP technology - GitHub - matt40k/TidyBackups: Allows fo…

3- Database Backup Manager

This is a small productive tool that allows you to automate your backup of Microsoft SQL database into a single backup file (.bak).

GitHub - backup-manager/backup-manager: Database backup manager for dumping to and restoring databases from S3, Dropbox, FTP, SFTP, and Rackspace Cloud
Database backup manager for dumping to and restoring databases from S3, Dropbox, FTP, SFTP, and Rackspace Cloud - GitHub - backup-manager/backup-manager: Database backup manager for dumping to and…

4- Craft-Scripts (CraftCMS Backup)

Shell scripts to manage database backups, asset backups, file permissions, asset syncing, cache clearing, and database syncing between Craft CMS environments.

GitHub - nystudio107/craft-scripts: Shell scripts to manage database backups, asset backups, file permissions, asset syncing, cache clearing, and database syncing between Craft CMS environments
Shell scripts to manage database backups, asset backups, file permissions, asset syncing, cache clearing, and database syncing between Craft CMS environments - GitHub - nystudio107/craft-scripts: S…

5- Onedump

Onedump is a database dump and backup tool that can dump different databases to different storage with a simple configuration file or CLI commands.

Features

  • Database backup from different sources to different destinations.
  • Load configuration from S3 bucket.
  • Compression (use job.gzip: true to enable compression).
  • Unique filename (use job.unique: true to enable unique filename).
  • Slack notification.
  • Maintained docker image.
  • Supported drivers: MySQL, PostgreSQL.
  • Supported storage: Local, S3, Google Drive, Dropbox
GitHub - liweiyi88/onedump: Database dump with one command and configuration.
Database dump with one command and configuration. Contribute to liweiyi88/onedump development by creating an account on GitHub.

6- pgbackup - Automated PostgreSQL Backup on Linux

This is an automated PostgreSQL Backup on Linux.

GitHub - tmiland/pgbackup: Automated PostgreSQL Backup on Linux
Automated PostgreSQL Backup on Linux. Contribute to tmiland/pgbackup development by creating an account on GitHub.

7- SQL Dumper

A PHP command line application to dump databases into your source code. This can be very useful if you need to version control your database along with the source code.

GitHub - srimaln91/sql-dumper: A simple command line application which can be used to maintain database versions with your source code.
A simple command line application which can be used to maintain database versions with your source code. - GitHub - srimaln91/sql-dumper: A simple command line application which can be used to main…

8- DBBT

This tool is written by PHP. If your website is also written by PHP, then using this tool does not require additional environment requirements. (The version requirements are described in Compatibility section below)

This tool supports both physical and logical backups. Due physical backup just is file copy, so the backup method supported all databases.

However the logical backup only supports MySQL (and MariaDB), in the future will support more databases.

This tool also supports both local and remote storage. The support storage way is detailed below.

GitHub - RazeSoldier/DBBT: Database Backup Tool
Database Backup Tool. Contribute to RazeSoldier/DBBT development by creating an account on GitHub.

9- Auto-Upload (MySQL)

This script can be used as cron job of Linux to take backup for the MySQL database. Users need to do some modification according to their use.

GitHub - maheshuligade/Auto-Upload: This script can be used as crone job of linux to take backup of mysql database.
This script can be used as crone job of linux to take backup of mysql database. - GitHub - maheshuligade/Auto-Upload: This script can be used as crone job of linux to take backup of mysql database.

10- mongo-dumper

mongo-dumper is a simple CLI script to easily dump, compress, encrypt and optionally upload your mongodb database/ cluster.

The tool is using the --archive and optional the --gzip option from mongodump to create a backup.

Keep this in mind if you restore your backup with mongorestore.

GitHub - gtuk/mongo-dumper: mongo-dumper is a simple cli script to easily dump, compress and optionally encrypt your monogdb database/cluster
mongo-dumper is a simple cli script to easily dump, compress and optionally encrypt your monogdb database/cluster - GitHub - gtuk/mongo-dumper: mongo-dumper is a simple cli script to easily dump, c…

11- pg-dumper (Postgres SQL)

pg-dumper is a simple cli script to easily dump, compress, encrypt and optionally upload your postgres database/cluster.

GitHub - gtuk/pg-dumper: pg-dumper is a simple cli script to easily dump, compress and optionally encrypt your postgres database/cluster
pg-dumper is a simple cli script to easily dump, compress and optionally encrypt your postgres database/cluster - GitHub - gtuk/pg-dumper: pg-dumper is a simple cli script to easily dump, compress…

12- Docker DB Backup

This open-source free tool helps you to build a container for backing up multiple types of DB Servers

Currently backs up CouchDB, InfluxDB, MySQL, MongoDB, Postgres, Redis servers.

Features

  • dump to local filesystem or backup to S3 Compatible services, and Azure.
  • select database user and password
  • backup all databases, single, or multiple databases
  • backup all to separate files or one singular file
  • choose to have an MD5 or SHA1 sum after backup for verification
  • delete old backups after specific amount of time
  • choose compression type (none, gz, bz, xz, zstd)
  • connect to any container running on the same system
  • Script to perform restores
  • Zabbix Monitoring capabilities
  • select how often to run a dump
  • select when to start the first dump, whether time of day or relative to container start time
  • Execute script after backup for monitoring/alerting purposes
GitHub - tiredofit/docker-db-backup: Backup multiple database types on a scheduled basis with many customizable options
Backup multiple database types on a scheduled basis with many customizable options - GitHub - tiredofit/docker-db-backup: Backup multiple database types on a scheduled basis with many customizable…

13- Laravel Backup Backup

Backup is a Laravel package that allow the creation and restoration of database backups in an easy way.

GitHub - paulvl/backup: MySQL Database backup package for Laravel
MySQL Database backup package for Laravel. Contribute to paulvl/backup development by creating an account on GitHub.

14- XCloner WordPress Plugin - Backup and Restore

This open-source free tool helps you to back up your WordPress site, restore to any web location, send your backups to Dropbox, Amazon S3, Azure, FTP, SFTP and many others with XCloner backup plugin.

XCloner is a Backup and Restore plugin that is perfectly integrated with WordPress.

XCloner design was specifically created to Generate custom backups of any LAMP website through custom admin inputs, and to be able to Restore the clone on any other location with the help of the automatic Restore script we provide!

XCloner Backup tool uses Open Source standards like TAR, Mysql and CSV formats so you can rest assured your backups can be restored in a variety of ways, giving you more flexibility and full control.

Features

  • Backup and Restore your WordPress site easily
  • Create compressed and uncompressed backups using TAR open source format
  • Create encrypted backups archives with AES-128-CBC algorithm
  • Create automated backups from your Scheduled Backups Section
  • Received email notifications of created backups
  • Generate automatic backups based on cron jobs, it can run daily, weekly, monthly or even hourly
  • Restore your backups on any other location, XCloner will attempt to extract the backup archive files for you, as well as import the mysql dump and update the WordPress config details
  • Upload your backups to Remote Storage locations supporting FTP, SFTP, Dropbox, AWS, Azure Blob and many more to come
  • Watch every step of XCloner through it's built in debugger
  • Although we have optimized XCloner to run properly on most hosts, we give Developers options to customize its running speed and avoid backup timeouts, all from the XCloner Config-> System Options
  • Ability to split backups into multiple smaller parts if a certain size limit is reached
GitHub - watchfulli/XCloner-Wordpress: Backup and Restore Plugin for Wordpress
Backup and Restore Plugin for Wordpress. Contribute to watchfulli/XCloner-Wordpress development by creating an account on GitHub.

15- Butler

This script takes the MySQL or MariaDB database backups of multiple Laravel apps as SQL files. Define the project root and depth in .env file and run the script as a cron job.

GitHub - sowrensen/butler: Take mysql or mariadb database backup for your Laravel apps altogether.
Take mysql or mariadb database backup for your Laravel apps altogether. - GitHub - sowrensen/butler: Take mysql or mariadb database backup for your Laravel apps altogether.

16- Magedbm2 - A Database Backup Manager

Magedbm2 is a database backup manager designed to make the process of taking backups from one environment and moving them to another, easy.

The backups can be stripped of sensitive tables and can even generate anonymized versions of the sensitive data.

While it was originally developed to for Magento 2.x it can be used for any system.

It was written with developers in mind and provides commands for:

  • Creating sanitised (or unsanitized) production database backups and uploading them to Amazon S3
  • Downloading and importing existing backups to development or staging environments
  • Exporting and importing anonymised sensitive data tables



GitHub - Space48/magedbm2: 💾 A Database Backup Manager (originally designed for Magento 2.x)
💾 A Database Backup Manager (originally designed for Magento 2.x) - GitHub - Space48/magedbm2: 💾 A Database Backup Manager (originally designed for Magento 2.x)

17- go-dumper

It's a DB dump tool which will create a backup from source database, then will zip the backup file and upload it to GCS or AWS bucket, finally will restore the data to destination server.

  • Creates backup from production database
  • Loads backup SQL file to staging database
GitHub - rakib32/go-dumper: This is a DB dump tool which will dump data from the source database, then will upload it to GS or AWS bucket and finally will restore the data to destination database
This is a DB dump tool which will dump data from the source database, then will upload it to GS or AWS bucket and finally will restore the data to destination database - GitHub - rakib32/go-dumper:…