|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- BAK_Project=JOE
- Database_Name=db_ed8_
- TMP_File=/ED/${BAK_Project}/${BAK_Project}restore_from_local.pw
-
- read -p "Please enter the user name of mysql $Database_Name: " edname
- echo -e "ID\t$edname" > $TMP_File
- read -p "Please enter the password of mysql $Database_Name: " edpw
- echo -e "Password\t$edpw" >> $TMP_File
-
- LOG1=/ED/${BAK_Project}/Script_${BAK_Project}/_LOG/${BAK_Project}restore_from_local-mysql.log
-
- edID=`cat $TMP_File | grep "ID" | awk '{print $NF}'`
- edPW=`cat $TMP_File | grep "Password" | awk '{print $NF}'`
-
- echo -e "\033[32mBelow are all saved mysql backup files \033[0m"
- ls /ED/${BAK_Project}/Backup_file/ -al | grep backup-mysql-${BAK_Project}
- echo
- echo -e -n "\033[33mWhich file do you want to restore? \033[0m"
- read DATABASE_BAK_File_NAME
- ls /ED/${BAK_Project}/Backup_file/$DATABASE_BAK_File_NAME > /dev/null 2>&1
- if [[ $? != 0 ]]; then
- echo -e "\033[41;37mFail. The file ($DATABASE_BAK_File_NAME) doesn't exist. Exit \033[0m"
- echo
- exit
- else
- echo -e "\033[34mPass. The file ($DATABASE_BAK_File_NAME) exist, go next..."
- fi
-
-
- echo "======= `date +"%Y/%m/%d %H:%M:%S"` ==========================" | tee -a $LOG1
- echo "`date +"%Y/%m/%d %H:%M:%S"` - Starting restore ${BAK_Project} mysql from dumped files" | tee -a $LOG1
-
- mysql -u $edID -p$edPW -e 'show databases;'
- mysql -u $edID -p$edPW -e 'show databases;' | grep $Database_Name | wc -l > /dev/null 2>&1
- if [[ $? == 0 ]]; then
- echo -e "\033[44;37m1/2: The database named $Database_Name exist, go next\033[0m" | tee -a $LOG1
- else
- echo "\033[45;37m1/2: There is no database named $Database_Name, next will create a new one automatically.\033[0m" | tee -a $LOG1
- expect -c "
- spawn sudo mysql -u $edID -p -e \"CREATE DATABASE IF NOT EXISTS $Database_Name\"
- expect \"password for ed:\"
- send \"$edPW\r\"
- expect \"Enter password:\"
- send \"$edPW\r\"
- expect eof"
- sleep 2
- fi
-
- #sudo mysql -u $edID -p $Database_Name < /ED/${BAK_Project}/Backup_file/backup.sql
- #mysql -u $edID -p$edPW $Database_Name < /ED/${BAK_Project}/Backup_file/backup.sql
- gunzip -c /ED/${BAK_Project}/Backup_file/$DATABASE_BAK_File_NAME | mysql -u $edID -p$edpw $Database_Name #with gzip restore
- if [[ $? == 0 ]]; then
- echo -e "\033[44;37m2/2: Restored mysql. Finished\033[0m" | tee -a $LOG1
- else
- echo -e "\033[41;37m2/2: Restore mysql failed.\033[0m" | tee -a $LOG1
- fi
-
- rm $TMP_File
- echo | tee -a $LOG1
-
- echo -e "If you want to check the LOG, please perform below command: "
- echo -e " \033[35m# cat $LOG1 \033[0m"
- echo
|