EGLUG backup script
#!/bin/bash
#mysqlbackup is script writen to dump eglug databases
#+ Diaa Radwan
DATE=$(date +%d-%m-%y)
BACKUP_PATH='path/to/backups'
DBACKUP_PATH='/path/to/ocument_root'
DB_NAME='dbname'
DB_USER='dbuser'
PASSWORD='pass'
DOCUMENTROOT='/path/to/docroot'
MYDUMP_OPTIONS='--add-drop-table -acv --compatible=mysql40 --host dbhost'
case "$1" in
databases)
for db in $DB_NAME ;do
mkdir -p $BACKUP_PATH/$DB_NAME/$DATE
mysqldump $MYDUMP_OPTIONS -u$DB_USER -p${PASSWORD} $db > $BACKUP_PATH/$DB_NAME/$DATE/${DB_NAME}.mysql
tar cjvf $BACKUP_PATH/$DB_NAME/$DATE/${DB_NAME}.mysql.tar.bz2 $BACKUP_PATH/$DB_NAME/$DATE/${DB_NAME}.mysql
rm -f $BACKUP_PATH/$DB_NAME/$DATE/${DB_NAME}.mysql
done
;;
tables)
for db in $DB_NAME
do
mkdir -p $BACKUP_PATH/$DB_NAME/$DATE/dbtables
for tables in `echo "show tables" | mysql -u$DB_USER -p${PASSWORD} $DB_NAME | grep -v "Tables_in_"`
do
mysqldump $MYDUPM_OPTIONS -u$DB_USER -p${PASSWORD} $DB_NAME $tables > $BACKUP_PATH/$DB_NAME/$DATE/dbtables/$tables.mysql
tar cjvf $BACKUP_PATH/$DB_NAME/$DATE/dbtables/$tables.mysql.tar.bz2 $BACKUP_PATH/$DB_NAME/$DATE/dbtables/$tables.mysql
rm -f $BACKUP_PATH/$DB_NAME/$DATE/dbtables/$tables.mysql
done
done
;;
docroot)
mkdir -p $DBACKUP_PATH
tar cjvf $DBACKUP_PATH/eglug.org_docroot_${DATE}.tar.bz2 $DOCUMENTROOT
;;
dt)
sh $PWD/$0 databases
sh $PWD/$0 tables
;;
*)
echo "USAGE: $0 {tables|databases|dt|docroot}"
esac