diff --git a/README.md b/README.md index 2058ff1..affa4e1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # MySQL backup script Feature rich MySQL / MariaDB backup script. +Scripts +- mysql_backup.sh :: backuping mysql databases in single dump. +- mysql_db_dump.sh :: dumping single database ## Installation @@ -11,7 +14,7 @@ Feature rich MySQL / MariaDB backup script. **Usage:** `mysql_backup.sh -d /backup/dir/ -n daily [-c 10 -s -z -e test@domain.org]` -## Options +## mysql_bakcup Options **-d , --dir** backup directory diff --git a/mysql_backup.sh b/mysql_backup.sh index a94db11..8b39a9d 100755 --- a/mysql_backup.sh +++ b/mysql_backup.sh @@ -72,8 +72,7 @@ then copies=10 fi - -if ! [ -d ${dir} ] ; then +if [ "${dir}" = "" ] || [ ! -d ${dir} ] ; then error "Directory '${dir}' does not exists!" ; exit 1 ; diff --git a/mysql_db_dump.sh b/mysql_db_dump.sh new file mode 100644 index 0000000..4be15e7 --- /dev/null +++ b/mysql_db_dump.sh @@ -0,0 +1,55 @@ +#!/bin/sh +# Dumping mysql database in current folder +# Usage: ${0} databse1 [database2 database3 database4 ...] + + +export PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" ; + +if [ -z "${1}" ] ; then + + echo "Error: no database name given!" ; + echo + echo "Usage: ${0} databse1 [database2 database3 database4 ...]" + exit 1 ; +fi + +param=" --lock-tables \ + --add-drop-table \ + --add-drop-trigger \ + --triggers \ + --add-locks \ + --create-options \ + --complete-insert \ + --extended-insert \ + --allow-keywords \ + --default-character-set=utf8mb4 \ + --dump-date \ + --quote-names \ + --comments \ + --quick \ + --force" + +while [ "${1}" != "" ]; do + echo + echo "Starting '{$1}' database dump..." ; + + filename="mysqldump.${1}.`hostname -s`.`date +\"%y%m%d.%H%M%S\"`.sql" ; + + if [ -f filename ] ; then + echo "Database ${1} dump not completed! File ${filename} allready exists!" + exit 1 ; + fi + + if ! mysqldump ${1} ${param} > ${filename} ; then + echo "Database ${1} dump not completed!" ; + rm ${filename} ; + else + echo "Compressing dump" + xz ${filename} ; + echo "Database ${1} dump successful completed. ('${filename}.xz')" ; + fi + + shift +done + +exit 0 \ No newline at end of file