87 lines
1.7 KiB
Bash
Executable File
87 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
R="\e[1;31m"
|
|
G="\e[1;32m"
|
|
B="\e[1;34m"
|
|
W="\e[1;97m"
|
|
E="\e[00m"
|
|
|
|
DBUSER="root"
|
|
DBPASS="1234"
|
|
|
|
TAR=$1
|
|
NAME=$(echo $TAR | awk -F\. '{print $1}' | awk -F- '{print $1}')
|
|
echo
|
|
|
|
[ $# -lt 1 ] && echo -e "Tarball argument is missing" && exit
|
|
[ $# -gt 1 ] && echo -e "Too many arguments" && exit
|
|
[ -d ${NAME} ] && echo -e "Directory ${R}${NAME}${E} already exist" && exit
|
|
|
|
mysql -uroot -p1234 -e 'show databases' | grep "^${NAME}$" &> /dev/null
|
|
[ $? -eq 0 ] && echo -e "Database ${R}${NAME}${E} already exist" && exit
|
|
|
|
function log() {
|
|
if [ $1 == 0 ]; then
|
|
echo -e " ${G}[ OK ]${E}"
|
|
return 0
|
|
else
|
|
echo -e " ${R}[FAIL]${E}"
|
|
exit
|
|
fi
|
|
}
|
|
|
|
function verify_integrity() {
|
|
echo -ne " 🔎 Verify file $1"
|
|
if [[ "$1" =~ \.bz2$ ]]; then
|
|
bzip2 -tv $1
|
|
return $?
|
|
fi
|
|
if [[ "$1" =~ \.gz$ ]]; then
|
|
gzip -t $1
|
|
return $?
|
|
fi
|
|
if [[ "$1" =~ \.tar$ ]]; then
|
|
tar f $1
|
|
return $?
|
|
fi
|
|
return 1
|
|
}
|
|
|
|
function extract_tarball() {
|
|
echo -ne " 📦 Extract tarball $1"
|
|
if [[ "$1" =~ \.bz2$ ]]; then
|
|
tar jxf $1
|
|
return $?
|
|
fi
|
|
if [[ "$1" =~ \.gz$ ]]; then
|
|
tar zxf $1
|
|
return $?
|
|
fi
|
|
if [[ "$1" =~ \.tar$ ]]; then
|
|
tar xf $1
|
|
return $?
|
|
fi
|
|
}
|
|
|
|
verify_integrity ${TAR}
|
|
log $?
|
|
|
|
extract_tarball $TAR
|
|
log $?
|
|
|
|
echo -ne " 🐬 Create database $NAME"
|
|
mysql -u${DBUSER} -p${DBPASS} -e "create database $NAME"
|
|
log $?
|
|
|
|
echo -ne " 🐬 Create db user $NAME"
|
|
mysql -u${DBUSER} -p${DBPASS} -e "CREATE USER $NAME@localhost IDENTIFIED BY '1234'"
|
|
mysql -u${DBUSER} -p${DBPASS} -e "GRANT ALL ON $NAME.* TO $NAME@localhost"
|
|
log $?
|
|
|
|
echo -ne " 🐬 Import $NAME.sql"
|
|
mysql -u${DBUSER} -p${DBPASS} $NAME < $NAME.sql
|
|
log $?
|
|
|
|
ls -ld $NAME/ --color=auto
|
|
ls -l /var/www/site[1234567890] --color=auto
|