Установщик дампов
Программа для создания и установки дампов mysql в ручном режиме.
Понимает sql и архивы sql.gz
Скачать
#!/bin/sh
#VERSION 3
SERVERNAME=my_server
#----------------------------------------
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
function NAME_BASE()
{
NAME=$SERVERNAME-$(date +%Y-%m-%d_%H:%M).sql.gz
}
while :
do
echo -n "[1] - New dump, [2] - New dump (stored procedures), [3] - Install dump, [0] - Exit :"
read NUM
case "$NUM" in
1)
NAME_BASE
mysqldump -u $db_user -p$db_password mikbill | gzip > sql-$NAME
echo "Dump sql-$NAME"
exit
;;
2)
echo -n "MySQL root password :"
read PASS
NAME_BASE
mysqldump --routines --extended-insert -u root -p$PASS mikbill | gzip > sql-sp-$NAME
echo "Dump with stored procedures sql-sp-$NAME"
exit
;;
3)
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.{sql.gz,sql}`
NUM=1
for x in $L; do
echo "$NUM | $x $(stat -c%s "$x") b | $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number dump install? :"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
FILE=${DUMP[NUM_DUMP]}
echo -e -n "\e[31m INSTALL DUMP $FILE? (y/n) : \e[0m"
read INSTALL
case "$INSTALL" in
y|Y)
if [ "${FILE##*.}" = "gz" ];then
{
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
}
else
{
mysql -u $db_user -p$db_password mikbill < $FILE
}
fi
echo "Dump install"
exit
;;
esac
}
fi
done
;;
0)
exit
;;
esac
done
################################################################
#!/bin/sh
#Version 2
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
while :
do
echo -e "1 - New dump \n""2 - Install dump \n""0 - Exit"
echo -n "(1/2/0)"
read NUM
case "$NUM" in
1)
name=sql-$(date +%Y-%m-%d_%H:%M).sql.gz
mysqldump -u $db_user -p$db_password mikbill | gzip > $name
echo "Dump $name"
exit
;;
2)
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.{sql.gz,sql}`
NUM=1
for x in $L; do
echo "$NUM | $x $(stat -c%s "$x") b | $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number dump install? :"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
FILE=${DUMP[NUM_DUMP]}
echo -e -n "\e[31m INSTALL DUMP $FILE? (y/n) : \e[0m"
read INSTALL
case "$INSTALL" in
y|Y)
echo ${FILE##*.}
if [ "${FILE##*.}" = "gz" ];then
{
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
}
else
{
mysql -u $db_user -p$db_password mikbill < $FILE
}
fi
echo "Dump install"
exit
;;
esac
}
fi
done
;;
0)
exit
;;
esac
done
################################################################
Старая версия
#!/bin/sh
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.sql.gz`
NUM=1
for x in $L; do
echo "$NUM $x $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number?"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
echo -e -n "\e[31m INSTALL BACKUP ${DUMP[NUM_DUMP]}? (y/n) \e[0m"
#echo -n "INSTALL BACKUP ${DUMP[NUM_DUMP]}? (y/n)"
read INSTALL
case "$INSTALL" in
y|Y)
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
echo "Dump install"
exit
;;
esac
}
fi
done
Понимает sql и архивы sql.gz
Скачать
- wget https://www.cubbyusercontent.com/pl/mysqldump.sh/_8d647453ae6d44ff8863ccdcac9f6999 -O mysqldump.sh;chmod +x mysqldump.sh
#!/bin/sh
#VERSION 3
SERVERNAME=my_server
#----------------------------------------
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
function NAME_BASE()
{
NAME=$SERVERNAME-$(date +%Y-%m-%d_%H:%M).sql.gz
}
while :
do
echo -n "[1] - New dump, [2] - New dump (stored procedures), [3] - Install dump, [0] - Exit :"
read NUM
case "$NUM" in
1)
NAME_BASE
mysqldump -u $db_user -p$db_password mikbill | gzip > sql-$NAME
echo "Dump sql-$NAME"
exit
;;
2)
echo -n "MySQL root password :"
read PASS
NAME_BASE
mysqldump --routines --extended-insert -u root -p$PASS mikbill | gzip > sql-sp-$NAME
echo "Dump with stored procedures sql-sp-$NAME"
exit
;;
3)
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.{sql.gz,sql}`
NUM=1
for x in $L; do
echo "$NUM | $x $(stat -c%s "$x") b | $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number dump install? :"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
FILE=${DUMP[NUM_DUMP]}
echo -e -n "\e[31m INSTALL DUMP $FILE? (y/n) : \e[0m"
read INSTALL
case "$INSTALL" in
y|Y)
if [ "${FILE##*.}" = "gz" ];then
{
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
}
else
{
mysql -u $db_user -p$db_password mikbill < $FILE
}
fi
echo "Dump install"
exit
;;
esac
}
fi
done
;;
0)
exit
;;
esac
done
################################################################
#!/bin/sh
#Version 2
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
while :
do
echo -e "1 - New dump \n""2 - Install dump \n""0 - Exit"
echo -n "(1/2/0)"
read NUM
case "$NUM" in
1)
name=sql-$(date +%Y-%m-%d_%H:%M).sql.gz
mysqldump -u $db_user -p$db_password mikbill | gzip > $name
echo "Dump $name"
exit
;;
2)
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.{sql.gz,sql}`
NUM=1
for x in $L; do
echo "$NUM | $x $(stat -c%s "$x") b | $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number dump install? :"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
FILE=${DUMP[NUM_DUMP]}
echo -e -n "\e[31m INSTALL DUMP $FILE? (y/n) : \e[0m"
read INSTALL
case "$INSTALL" in
y|Y)
echo ${FILE##*.}
if [ "${FILE##*.}" = "gz" ];then
{
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
}
else
{
mysql -u $db_user -p$db_password mikbill < $FILE
}
fi
echo "Dump install"
exit
;;
esac
}
fi
done
;;
0)
exit
;;
esac
done
################################################################
Старая версия
#!/bin/sh
L=`ls -d1 $(cd $(dirname $0)&& pwd)/*.sql.gz`
NUM=1
for x in $L; do
echo "$NUM $x $NUM"
DUMP[NUM]=$x
let "NUM=NUM+1"
done
while :
do
echo -n "What number?"
read NUM_DUMP
if [[ ${DUMP[NUM_DUMP]} ]];then
{
echo -e -n "\e[31m INSTALL BACKUP ${DUMP[NUM_DUMP]}? (y/n) \e[0m"
#echo -n "INSTALL BACKUP ${DUMP[NUM_DUMP]}? (y/n)"
read INSTALL
case "$INSTALL" in
y|Y)
PACH=/var/www/mikbill/admin/
db_user=$(cat $PACH'app/etc/config.xml'| grep username | awk '{ gsub("<username>"," "); print }' | awk '{ gsub("</username>"," "); print }' | awk '{print $1}')
db_password=$(cat $PACH'app/etc/config.xml'| grep password | awk '{ gsub("<password>"," "); print }' | awk '{ gsub("</password>"," "); print }' | awk '{print $1}')
gunzip < ${DUMP[NUM_DUMP]} | mysql -u $db_user -p$db_password mikbill
echo "Dump install"
exit
;;
esac
}
fi
done
Дампы положить в одну директорию с скриптом
Комментарии
Отправить комментарий