#!/bin/sh
#############################################################
# File: dbbackup.sh
# Description: A shell script to backup all mysql databases
# Cron Example: 0 2 * * * sh /path/to/dbbackup.sh
#############################################################
####DEFINE THESE#############################################
USER="root"
PASSWORD="mysqlpass"
SCPTOREMOTE=0;
REMOTESERVER="192.168.0.0";
REMOTEDIR="/backup";
DUMPBASEDIR="/opt/backup";
####END CHANGE HERE###########################################
MYSQLDUMP=`which mysqldump`
MYSQL=`which mysql`
LOOK=`which find`
DATE=`/bin/date +%d-%b-%Y`;
DELDIR=`/bin/date -d "-7 day" +%d-%b-%Y`;
DUMPDIR="$DUMPBASEDIR/$DATE";
if [ ! -d $DUMPDIR ];
then
echo "Creating Directory: ".$DUMPDIR;
mkdir $DUMPDIR;
fi
# get a list of databases
databases=`$MYSQL --user=$USER --password=$PASSWORD \
-e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
# dump each database in turn
for db in $databases; do
echo "Database $db Backup Started";
$MYSQLDUMP --single-transaction --events --force --opt --user=$USER --password=$PASSWORD \
--databases $db > "$DUMPDIR/$db.bak"
echo "Database $db Backup Completed";
done
if [ $SCPTOREMOTE -eq "1" ]
then
echo "Backing up data to remote server";
scp -r $DUMPDIR $REMOTESERVER:$REMOTEDIR
fi
echo "Done";
if [ ! -d $DELDIR ];
then
echo "No directory with name: $DELDIR"
echo "exiting....."
exit 1;
else
echo "Deleting Backup Of Date : $DELDIR"
$LOOK $DUMPBASEDIR -type d -name $DELDIR -exec rm -rf {} \; 2>/dev/null
echo "Backup Deleted Successfully...!"
exit 0;
fi
exit;
#############################################################
# File: dbbackup.sh
# Description: A shell script to backup all mysql databases
# Cron Example: 0 2 * * * sh /path/to/dbbackup.sh
#############################################################
####DEFINE THESE#############################################
USER="root"
PASSWORD="mysqlpass"
SCPTOREMOTE=0;
REMOTESERVER="192.168.0.0";
REMOTEDIR="/backup";
DUMPBASEDIR="/opt/backup";
####END CHANGE HERE###########################################
MYSQLDUMP=`which mysqldump`
MYSQL=`which mysql`
LOOK=`which find`
DATE=`/bin/date +%d-%b-%Y`;
DELDIR=`/bin/date -d "-7 day" +%d-%b-%Y`;
DUMPDIR="$DUMPBASEDIR/$DATE";
if [ ! -d $DUMPDIR ];
then
echo "Creating Directory: ".$DUMPDIR;
mkdir $DUMPDIR;
fi
# get a list of databases
databases=`$MYSQL --user=$USER --password=$PASSWORD \
-e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
# dump each database in turn
for db in $databases; do
echo "Database $db Backup Started";
$MYSQLDUMP --single-transaction --events --force --opt --user=$USER --password=$PASSWORD \
--databases $db > "$DUMPDIR/$db.bak"
echo "Database $db Backup Completed";
done
if [ $SCPTOREMOTE -eq "1" ]
then
echo "Backing up data to remote server";
scp -r $DUMPDIR $REMOTESERVER:$REMOTEDIR
fi
echo "Done";
if [ ! -d $DELDIR ];
then
echo "No directory with name: $DELDIR"
echo "exiting....."
exit 1;
else
echo "Deleting Backup Of Date : $DELDIR"
$LOOK $DUMPBASEDIR -type d -name $DELDIR -exec rm -rf {} \; 2>/dev/null
echo "Backup Deleted Successfully...!"
exit 0;
fi
exit;
No comments:
Post a Comment