Skip to content

Backup your MySQL/MariaDB server ( structure, data, users, grants, views, triggers, routines, events )

License

Unlicense, Unknown licenses found

Licenses found

Unlicense
LICENSE
Unknown
LICENSE.sig
Notifications You must be signed in to change notification settings

code-lts/sql-backup

Repository files navigation

sql-backup - Backup your MySQL / MariaDB server !

Codacy Badge Actions Status codecov License: Unlicense FOSSA Status CII Best Practices

Backup your MySQL / MariaDB server ( structure, data, users, grants, views, triggers, routines, events )

Install

Clone the repository

curl -L -# -o sql-backup.zip https://github.com/code-lts/sql-backup/archive/refs/tags/v1.2.0.zip

Unzip file

unzip sql-backup.zip

Move into the directory

cd sql-backup-1.2.0/

Copy the configuration example

cp .env.dist .env

Edit your configuration file

Nano

nano .env

Vi

vi .env

Start backup

Execute this command to start the backup !

./backup.sh

Extras

To use an external env file in a custom location, example :

export BACKUP_CONFIG_ENVFILE="/home/myuser/secretbackupconfig.env.txt"

./backup.sh

unset BACKUP_CONFIG_ENVFILE

You can use the variables of the env file in the ON_SUCCESS variable, example :

ON_SUCCESS="${BACKUP_DIR}/onsuccessscript.sh"

Options

NAME DEFAULT VALUE OPTIONAL
BACKUP_DIR NO
MYSQL_HOST NO
MYSQL_USER NO
MYSQL_PASS YES
MYSQL_PORT 3306 YES
SKIP_DATABASES YES
EXPERT_ARGS --default-character-set=utf8 --extended-insert=FALSE --single-transaction --skip-comments --skip-dump-date --hex-blob --tz-utc YES
ON_SUCCESS YES
SKIP_OP YES

ON_SUCCESS is called on script success

Example .env

BACKUP_DIR=/sql_backup
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASS=root
MYSQL_PORT=3306
SKIP_DATABASES=mysql,sys,information_schema,performance_schema,phpmyadmin
SKIP_OP=users,grants

Files

NAME DESCRIPTION
database.sql All the data
structure.sql The structure of the databases and tables
grants.sql The grants for all users except root
events.sql The scheduled events
views.sql The views
triggers.sql The triggers
routines.sql All the procedures & functions
users.sql All MySQL users

License

FOSSA Status