Skip to content

Instantly share code, notes, and snippets.

@theand
Last active December 11, 2015 06:59
Show Gist options
  • Save theand/4563395 to your computer and use it in GitHub Desktop.
Save theand/4563395 to your computer and use it in GitHub Desktop.
#BASH full backup for mysql dump
#!/bin/sh
prefix="mysql"
mysql_bin="/usr/bin/"
mysqldb_root="/var/lib/mysql/"
backupdb_root="/backup/mysql_sql_backup/"
dir_name="$(date +%y%m%d)"
if [ ! -d $mysqldb_root ] ; then
echo "please type the database path"
fi
if [ ! -d $backupdb_root ] ; then
echo "create database backup folder.."
echo "mkdir -p $backupdb_root "
mkdir -p $backupdb_root
fi
if [ -d "$backupdb_root/$prefix.$dir_name" ]; then
echo "directory is existing",l
rm -rf "$backupdb_root/$prefix.$dir_name"
exit
else
echo "make directory.. "
mkdir "$backupdb_root/$prefix.$dir_name"
fi
for db_name in $(ls $mysqldb_root)
do
if [ -d "$mysqldb_root/$db_name" ] ; then
echo "$db_name DB backuping..."
$mysql_bin/mysqldump -u root -pPASSWORD $db_name >> $backupdb_root/$prefix.$dir_name/$db_name.sql
fi
done
cd $backupdb_root
echo "zip the db "
tar -zcvf "$prefix.$dir_name.sql.tar.gz" "$prefix.$dir_name"
if [ -d "$backupdb_root/$prefix.$dir_name" ]; then
echo "remove temp folder"
rm -rf "$backupdb_root/$prefix.$dir_name"
fi
rm -f $backupdb_root/latest_sql_backup.tar.gz
ln -s $backupdb_root/$prefix.$dir_name.sql.tar.gz $backupdb_root/latest_sql_backup.tar.gz
let "i = 0"
for dname in $(ls -t $backupdb_root)
do
let " i = i + 1"
if [ $i -ge "90" ]; then
if [ -f "$backupdb_root/$dname" ]; then
echo "Deleting - $backupdb_root/$dname"
rm -f $backupdb_root/$dname
fi
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment