Public feed
#727347
#!/bin/bash
NORM="\033[47;34m[*]\033[0m"
SUCC="\033[47;32m[+]\033[0m"
FAIL="\033[47;31m[-]\033[0m"
WARN="\033[47;33m[?]\033[0m"
if [ ! $1 ]; then
echo -e $FAIL "No function was specified."
exit 1
fi
if [ $1 == "backup" ]; then
if [ ! $2 ]; then
echo -e $FAIL "No database was given, aborting..."
exit 1
else
sudo /usr/local/mysql/bin/mysql -e "CREATE DATABASE $2" 2> /dev/null
if [ $? == 1 ]; then
echo -e $NORM "Beginning backup..."
else
echo -e $FAIL "Database does not exist, aborting..."
exit 1
fi
fi
mkdir -p backup/
mkdir -p backup/latest/
mkdir -p backup/archive/
mkdir -p backup/latest/$2/
TABLE=$3
if [ ! $3 ]; then
TABLE="all"
fi
for i in $( ls backup/latest/$2 ); do
for k in $( ls backup/latest/$2 | grep $TABLE ); do
if [ "$i" == "$k" ]; then
mkdir -p backup/archive/$2/
mv backup/latest/$2/$i backup/archive/$2/
echo -e $NORM "$k has been archived."
fi
done
done
TIME=$(date +%y%m%d)
FILE=$TABLE-$TIME.sql
sudo /usr/local/mysql/bin/mysqldump $2 $3 > $PWD/backup/latest/$2/$FILE
echo -e $SUCC "Successfully backed up $1.$2 as $FILE"
elif [ $1 == "restore" ]; then
if [ ! $2 ]; then
echo -e $FAIL "No database was given, aborting..."
exit 1
else
sudo /usr/local/mysql/bin/mysql -e "DROP DATABASE $2" 2> /dev/null
sudo /usr/local/mysql/bin/mysql -e "CREATE DATABASE $2" 2> /dev/null
echo -e $NORM "Database was destroyed, created"
fi
if [ ! $3 ]; then
echo -e $WARN "No path was given to recovery file, using init.sql"
FILE=$PWD/"init.sql"
else
FILE=$3;
fi
cat $FILE 2> /dev/null > /dev/null
if [ $? == 0 ]; then
echo -e $NORM "Recovery file found"
else
echo -e $FAIL "Recovery file was not found"
exit 1
fi
sudo /usr/local/mysql/bin/mysql $2 < $FILE
echo -e $SUCC "Database $2 has been restored"
else
echo -e $FAIL "$1 is not a valid function, aborting..."
exit 1
fi