Skip to content
Bash script for backup MySQL SSH
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backupper_mysql
README.md
example.gif

README.md

Backupper MySQL

This script is designed to create MySQL database backups.

The script automatically finds all databases, so you don't have to add new, unless you have some exceptions. You can also transfer the key to back up only certain databases.


The script contains the following settings:

Connection settings:

DBUSER="root"
DBPASS=""
DBHOST=""

Archives retention period:

DAYS_STORE=20

Directory for save archive:

BACKUP_DIR="backups"

A list of excluded databases (database is a part of SHOW DATABASES output):

EXCLUDES_DB=(
 'example_db'
 'example_db2'
)

An array of excluded tables (requires BASH v. 4 >=). The structure of the excluded tables will be saved in the backup file:

EXCLUDED_TABLES[example_db]="example_table example_table2"

Parameter for change the store time (days) "-t":

$ ./run.sh -t 10

If you do not want the script to back up the new bases, then upon running, specify that you want to back up, using the "-b" parameter:

$ ./run.sh -b "example_db example_db2"

To exclude tables from data base "-e":

$ ./run.sh -e "example_db.example_table example_db.example_table2"

If you want add custom parameters, use the parameter "-p":

$ ./run.sh -p "--hex-blob"

Example for cron. Backup all databases:

0 * * * * backupper_mysql/run.sh >/dev/null 2>&1

You can’t perform that action at this time.