Rubriques
Description
This script will backup the database specified on the command line. Credentials, and backup directory are defined on the configuration file of the script.
You have to create mysql_backup.cfg file, in cfg directory with those contents:
(you will also need to generate a base64 encoded password, to avoid a clear password in the configuration file, using:
echo "YourPassword" | base64
command).
############################################################
# File: mysql_backup.cfg #
# Author: Jerome DESMOULINS - djeshellstepsATdesmoulins.fr #
# Description: #
# MySQL Database backup script configuration file #
############################################################
MyUser=root
MyPwd=[[Put your base64 encoded password here]]
MyHost=localhost
mysql_backup.sh
The script contains two steps. One, for Backup of MySQL databases, and the other one, to compress the backup file
#!/bin/bash
############################################################
# File: mysql_backup.sh #
# Author: Jerome DESMOULINS - djeshellstepsATdesmoulins.fr #
# Description: #
# MySQL Database backup script #
############################################################
### Calling DjeShellSteps ###
ShellName=mysql_backup_$1
. `dirname $0`/djeshellsteps.sh
BeginSteps
DumpName=${DataDir}/mysql_backup_$1_`date +%Y%m%d_%H%M%S`.sql
ReadConfigFile
if [ -z "$1" ]
then
echo "Database name missing"
exit 1
else
MyDB=$1
MyPwd=`echo $MyPwd | base64 -d`
fi
###########################################################
Step 10 "Backuping $1 mysql database"
###########################################################
if [ $RunThisStep -eq 1 ]; then
mysqldump -u ${MyUser} -p${MyPwd} -h ${MyHost} --opt ${MyDB} -r ${DumpName}
fi
###########################################################
Step 20 "Compressing export file"
###########################################################
if [ $RunThisStep -eq 1 ]; then
echo "GZipping ${DumpName}..."
gzip ${DumpName}
echo "Compression done"
fi
### End of Shell Script ###
EndSteps