Shell script for Mysql Database Backup

#  mkdir /backups/db_backup/

# vi /backups/mysqlbackup.sh 

#!/bin/bash
export path1=/backups/db_backup
date1=`date +%y%m%d_%H%M%S`
/usr/bin/find /backups/db_backup/* -type d -mtime +30 -exec rm -r {} \; 2> /dev/null
cd $path1/
mkdir $date1
USER=”root”
PASSWORD=”redhat123″
OUTPUTDIR=”$path1/$date1″
MYSQLDUMP=”/usr/bin/mysqldump”
MYSQL=”/usr/bin/mysql”
HOST=”localhost”
databases=`$MYSQL –user=$USER –password=$PASSWORD –host=$HOST \
-e “SHOW DATABASES;” | tr -d “| ” | grep -v Database`
echo “` for db in $databases; do
   echo $db

       if [ “$db” = “performance_schema” ] ; then
       $MYSQLDUMP –force –opt –single-transaction –lock-tables=false –skip-events –user=$USER –password=$PASSWORD –host=$HOST –routines \
        –databases $db | gzip > “$OUTPUTDIR/$db.gz”
        else

$MYSQLDUMP –force –opt –single-transaction –lock-tables=false –events –user=$USER –password=$PASSWORD –host=$HOST –routines \
   –databases $db | gzip > “$OUTPUTDIR/$db.gz”
fi
done `”

:wq

Now schedule the script inside crontab:-
#The  script will run every night at 12 A.M
#crontab -e
0 0 * * * /backups/mysqlbackup.sh > /dev/null


Categories

Leave a Reply

Your email address will not be published. Required fields are marked *