| #!/bin/bash | #!/bin/bash | ||||
| Script_SRC_BAK=ED8backup-mysql-Auto.sh.SRC | |||||
| Script_TMP_BAK=ED8backup-mysql-Auto.sh.TMP | |||||
| Script_REAL_BAK=ED8backup-mysql-Auto.sh | |||||
| Script_SRC_Restore=ED8restore_from_local-mysql.sh.SRC | |||||
| Script_TMP_Restore=ED8restore_from_local-mysql.sh.TMP | |||||
| Script_REAL_Restore=ED8restore_from_local-mysql.sh | |||||
| Script_SRC_Script_ED8=ED8backup-Script_ED8-Auto.sh.SRC | |||||
| Script_TMP_Script_ED8=ED8backup-Script_ED8-Auto.sh.TMP | |||||
| Script_REAL_Script_ED8=ED8backup-Script_ED8-Auto.sh | |||||
| Script_SRC_Source_Files_ED8=ED8backup-Source_Files-Auto.sh.SRC | |||||
| Script_TMP_Source_Files_ED8=ED8backup-Source_Files-Auto.sh.TMP | |||||
| Script_REAL_Source_Files_ED8=ED8backup-Source_Files-Auto.sh | |||||
| Script_SRC_Remote_Backup=ED8Remote_backup.sh.SRC | |||||
| Script_TMP_Remote_Backup=ED8Remote_backup.sh.TMP | |||||
| Script_REAL_Remote_Backup=ED8Remote_backup.sh | |||||
| BAK_Project=ED8 | |||||
| Script_SRC_BAK=${BAK_Project}backup-mysql-Auto.sh.SRC | |||||
| Script_TMP_BAK=${BAK_Project}backup-mysql-Auto.sh.TMP | |||||
| Script_REAL_BAK=${BAK_Project}backup-mysql-Auto.sh | |||||
| Script_SRC_Restore=${BAK_Project}restore_from_local-mysql.sh.SRC | |||||
| Script_TMP_Restore=${BAK_Project}restore_from_local-mysql.sh.TMP | |||||
| Script_REAL_Restore=${BAK_Project}restore_from_local-mysql.sh | |||||
| Script_SRC_Script=${BAK_Project}backup-Script_${BAK_Project}-Auto.sh.SRC | |||||
| Script_TMP_Script=${BAK_Project}backup-Script_${BAK_Project}-Auto.sh.TMP | |||||
| Script_REAL_Script=${BAK_Project}backup-Script_${BAK_Project}-Auto.sh | |||||
| Script_SRC_Source_Files=${BAK_Project}backup-Source_Files-Auto.sh.SRC | |||||
| Script_TMP_Source_Files=${BAK_Project}backup-Source_Files-Auto.sh.TMP | |||||
| Script_REAL_Source_Files=${BAK_Project}backup-Source_Files-Auto.sh | |||||
| Script_SRC_Remote_Backup=${BAK_Project}Remote_backup.sh.SRC | |||||
| Script_TMP_Remote_Backup=${BAK_Project}Remote_backup.sh.TMP | |||||
| Script_REAL_Remote_Backup=${BAK_Project}Remote_backup.sh | |||||
| USER=`whoami` | USER=`whoami` | ||||
| PWFile="/home/$USER/PW/mysql_ED8.info" | |||||
| WORK_Folder="/ED/ED8/Script_ED8" | |||||
| SOUCE_Folder="/ED/ED8/Source_Files" | |||||
| Bak_Folder="/ED/ED8/Backup_file" | |||||
| PWFile="/home/$USER/PW/mysql_${BAK_Project}.info" | |||||
| WORK_Folder="/ED/${BAK_Project}/Script_${BAK_Project}" | |||||
| SOUCE_Folder="/ED/${BAK_Project}/Source_Files" | |||||
| Bak_Folder="/ED/${BAK_Project}/Backup_file" | |||||
| UTY_1=expect | UTY_1=expect | ||||
| UTY_2=lsscsi | UTY_2=lsscsi | ||||
| CHK_QTY=9 | CHK_QTY=9 | ||||
| cp $Script_SRC_BAK $Script_TMP_BAK | |||||
| cp $Script_SRC_Restore $Script_TMP_Restore | |||||
| cp $Script_SRC_Script_ED8 $Script_TMP_Script_ED8 | |||||
| cp $Script_SRC_Source_Files_ED8 $Script_TMP_Source_Files_ED8 | |||||
| cp $Script_SRC_Remote_Backup $Script_TMP_Remote_Backup | |||||
| cp $Script_SRC_BAK $Script_TMP_BAK; echo $? | |||||
| cp $Script_SRC_Restore $Script_TMP_Restore; echo $? | |||||
| cp $Script_SRC_Script $Script_TMP_Script; echo $? | |||||
| cp $Script_SRC_Source_Files $Script_TMP_Source_Files; echo $? | |||||
| cp $Script_SRC_Remote_Backup $Script_TMP_Remote_Backup; echo $? | |||||
| echo -e -n "You are \033[44;37m$USER\033[0m. Is it correct? (y|n) " | echo -e -n "You are \033[44;37m$USER\033[0m. Is it correct? (y|n) " | ||||
| read yn | read yn | ||||
| if [[ $yn == y ]]; then | if [[ $yn == y ]]; then | ||||
| echo -e "Change necessary files owner to $USER" | echo -e "Change necessary files owner to $USER" | ||||
| sudo chown $USER:$USER /ED/ED8 -R | |||||
| sudo chown $USER:$USER /ED/${BAK_Project} -R | |||||
| elif [[ $yn == n ]]; then | elif [[ $yn == n ]]; then | ||||
| echo "\033[31mYour input is $yn. Exit. " | echo "\033[31mYour input is $yn. Exit. " | ||||
| echo | echo | ||||
| sed -i 's/#CHK_BAK_Disk_A_Mount_Point/CHK_BAK_Disk_A_Mount_Point/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Mount_Point/CHK_BAK_Disk_A_Mount_Point/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_Mount_Status/CHK_BAK_Disk_A_Mount_Status/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Mount_Status/CHK_BAK_Disk_A_Mount_Status/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_Hostname_Folder/CHK_BAK_Disk_A_Hostname_Folder/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Hostname_Folder/CHK_BAK_Disk_A_Hostname_Folder/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_ED8_BAK_Folder/CHK_BAK_Disk_A_ED8_BAK_Folder/g' $Script_TMP_BAK | |||||
| sed -i "s/#CHK_BAK_Disk_A_${BAK_Project}_BAK_Folder/CHK_BAK_Disk_A_${BAK_Project}_BAK_Folder/g" $Script_TMP_BAK | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_BAK | sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_BAK | ||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Script_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Source_Files_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Script_ | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Source_Files | |||||
| echo -e " >> Set it done. " | echo -e " >> Set it done. " | ||||
| echo | echo | ||||
| sed -i 's/#CHK_BAK_Disk_A_Mount_Point/CHK_BAK_Disk_A_Mount_Point/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Mount_Point/CHK_BAK_Disk_A_Mount_Point/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_Mount_Status/CHK_BAK_Disk_A_Mount_Status/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Mount_Status/CHK_BAK_Disk_A_Mount_Status/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_Hostname_Folder/CHK_BAK_Disk_A_Hostname_Folder/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_A_Hostname_Folder/CHK_BAK_Disk_A_Hostname_Folder/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_A_ED8_BAK_Folder/CHK_BAK_Disk_A_ED8_BAK_Folder/g' $Script_TMP_BAK | |||||
| sed -i "s/#CHK_BAK_Disk_A_${BAK_Project}_BAK_Folder/CHK_BAK_Disk_A_${BAK_Project}_BAK_Folder/g" $Script_TMP_BAK | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_BAK | sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_BAK | ||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Script_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Source_Files_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Script | |||||
| sed -i 's/#CP_TO_BAK_Disk_A/CP_TO_BAK_Disk_A/g' $Script_TMP_Source_Files | |||||
| echo -e " >> Set it done. " | echo -e " >> Set it done. " | ||||
| echo | echo | ||||
| sed -i 's/#CHK_BAK_Disk_B_Mount_Point/CHK_BAK_Disk_B_Mount_Point/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_B_Mount_Point/CHK_BAK_Disk_B_Mount_Point/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_B_Mount_Status/CHK_BAK_Disk_B_Mount_Status/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_B_Mount_Status/CHK_BAK_Disk_B_Mount_Status/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_B_Hostname_Folder/CHK_BAK_Disk_B_Hostname_Folder/g' $Script_TMP_BAK | sed -i 's/#CHK_BAK_Disk_B_Hostname_Folder/CHK_BAK_Disk_B_Hostname_Folder/g' $Script_TMP_BAK | ||||
| sed -i 's/#CHK_BAK_Disk_B_ED8_BAK_Folder/CHK_BAK_Disk_B_ED8_BAK_Folder/g' $Script_TMP_BAK | |||||
| sed -i "s/#CHK_BAK_Disk_B_${BAK_Project}_BAK_Folder/CHK_BAK_Disk_B_${BAK_Project}_BAK_Folder/g" $Script_TMP_BAK | |||||
| sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_BAK | sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_BAK | ||||
| sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_Script_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_Source_Files_ED8 | |||||
| sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_Script | |||||
| sed -i 's/#CP_TO_BAK_Disk_B/CP_TO_BAK_Disk_B/g' $Script_TMP_Source_Files | |||||
| echo -e " >> Set it done. " | echo -e " >> Set it done. " | ||||
| echo | echo | ||||
| CHK_UTY_4 (){ | CHK_UTY_4 (){ | ||||
| man $UTY_4 > /dev/null 2>&1 | man $UTY_4 > /dev/null 2>&1 | ||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e " \033[34m08. Pass. The utility ($UTY_4) was installed. Setting ED8restore_from_local-mysql.sh use it. \033[0m" | |||||
| echo -e " \033[34m08. Pass. The utility ($UTY_4) was installed. Setting ${BAK_Project}restore_from_local-mysql.sh use it. \033[0m" | |||||
| sed -i 's/\/opt\/lampp\/bin\/mysql -u/mysql -u/g' $Script_TMP_Restore | sed -i 's/\/opt\/lampp\/bin\/mysql -u/mysql -u/g' $Script_TMP_Restore | ||||
| i=$((i+1)) | i=$((i+1)) | ||||
| else | else | ||||
| CHK_UTY_5 (){ | CHK_UTY_5 (){ | ||||
| man $UTY_5 > /dev/null 2>&1 | man $UTY_5 > /dev/null 2>&1 | ||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e " \033[34m09. Pass. The utility ($UTY_5) was installed. Setting ED8backup-mysql-Auto.sh use it. \033[0m" | |||||
| echo -e " \033[34m09. Pass. The utility ($UTY_5) was installed. Setting ${BAK_Project}backup-mysql-Auto.sh use it. \033[0m" | |||||
| sed -i 's/\/opt\/lampp\/bin\/mysqldump -u/mysqldump -u/g' $Script_TMP_BAK | sed -i 's/\/opt\/lampp\/bin\/mysqldump -u/mysqldump -u/g' $Script_TMP_BAK | ||||
| i=$((i+1)) | i=$((i+1)) | ||||
| else | else | ||||
| elif [[ $yn == n ]]; then | elif [[ $yn == n ]]; then | ||||
| echo -e " Your input is n. Disabling the PLAN#Y..." | echo -e " Your input is n. Disabling the PLAN#Y..." | ||||
| else | else | ||||
| echo -e " Wrong inout($yn). Exit" | |||||
| echo -e " \033[31mWrong inout($yn). Exit \033[0m" | |||||
| echo | |||||
| exit | |||||
| fi | fi | ||||
| echo -e -n "\033[33m2. Do you want to enable \033[36mPlan#Y\033[0m? (y|n) " | echo -e -n "\033[33m2. Do you want to enable \033[36mPlan#Y\033[0m? (y|n) " | ||||
| elif [[ $yn == n ]]; then | elif [[ $yn == n ]]; then | ||||
| echo -e " Your input is n. Disabling the PLAN#Y..." | echo -e " Your input is n. Disabling the PLAN#Y..." | ||||
| else | else | ||||
| echo -e " Wrong inout($yn). Exit" | |||||
| echo -e " \033[31mWrong inout($yn). Exit \033[0m" | |||||
| echo | |||||
| exit | |||||
| fi | fi | ||||
| } | } | ||||
| cp $Script_TMP_BAK $Script_REAL_BAK | cp $Script_TMP_BAK $Script_REAL_BAK | ||||
| cp $Script_TMP_Restore $Script_REAL_Restore | cp $Script_TMP_Restore $Script_REAL_Restore | ||||
| cp $Script_TMP_Script_ED8 $Script_REAL_Script_ED8 | |||||
| cp $Script_TMP_Source_Files_ED8 $Script_REAL_Source_Files_ED8 | |||||
| cp $Script_TMP_Script $Script_REAL_Script | |||||
| cp $Script_TMP_Source_Files $Script_REAL_Source_Files | |||||
| cp $Script_TMP_Remote_Backup $Script_REAL_Remote_Backup | cp $Script_TMP_Remote_Backup $Script_REAL_Remote_Backup | ||||
| rm -rf $Script_TMP_BAK $Script_TMP_Restore $Script_TMP_Script_ED8 $Script_TMP_Source_Files_ED8 $Script_TMP_Remote_Backup | |||||
| rm -rf $Script_TMP_BAK $Script_TMP_Restore $Script_TMP_Script $Script_TMP_Source_Files $Script_TMP_Remote_Backup | |||||
| echo | echo | ||||
| echo | echo |
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_2 $ID@$IP:$REMOTE_X_BAK_2 | spawn scp $BAK_2 $ID@$IP:$REMOTE_X_BAK_2 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_3 $ID@$IP:$REMOTE_X_BAK_3 | spawn scp $BAK_3 $ID@$IP:$REMOTE_X_BAK_3 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_2 $ID@$IP:$REMOTE_Y_BAK_2 | spawn scp $BAK_2 $ID@$IP:$REMOTE_Y_BAK_2 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_3 $ID@$IP:$REMOTE_Y_BAK_3 | spawn scp $BAK_3 $ID@$IP:$REMOTE_Y_BAK_3 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} |
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e " \033[34mPass. \033[0m" | echo -e " \033[34mPass. \033[0m" | ||||
| else | else | ||||
| echo -e " \033[31mFail. Exit.\033[0m" | |||||
| echo -e " \033[33mWarning! There is no local backup file ($BAK_1).\033[0m" | |||||
| echo | echo | ||||
| exit | |||||
| fi | fi | ||||
| } | } | ||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e " \033[34mPass. \033[0m" | echo -e " \033[34mPass. \033[0m" | ||||
| else | else | ||||
| echo -e " \033[31mFail. Exit.\033[0m" | |||||
| echo -e " \033[33mWarning! There is no local backup file ($BAK_2).\033[0m" | |||||
| echo | echo | ||||
| exit | |||||
| fi | fi | ||||
| } | } | ||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e " \033[34mPass. \033[0m" | echo -e " \033[34mPass. \033[0m" | ||||
| else | else | ||||
| echo -e " \033[31mFail. Exit.\033[0m" | |||||
| echo -e " \033[33mWarning! There is no local backup file ($BAK_3).\033[0m" | |||||
| echo | echo | ||||
| exit | |||||
| fi | fi | ||||
| } | } | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_2 $ID@$IP:$REMOTE_X_BAK_2 | spawn scp $BAK_2 $ID@$IP:$REMOTE_X_BAK_2 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_3 $ID@$IP:$REMOTE_X_BAK_3 | spawn scp $BAK_3 $ID@$IP:$REMOTE_X_BAK_3 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_2 $ID@$IP:$REMOTE_Y_BAK_2 | spawn scp $BAK_2 $ID@$IP:$REMOTE_Y_BAK_2 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | ||||
| \"yes/no\" {send \"yes\r\"; } | \"yes/no\" {send \"yes\r\"; } | ||||
| } | } | ||||
| expect eof" | |||||
| expect -c " | |||||
| spawn scp $BAK_3 $ID@$IP:$REMOTE_Y_BAK_3 | spawn scp $BAK_3 $ID@$IP:$REMOTE_Y_BAK_3 | ||||
| expect { | expect { | ||||
| \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} | \"*assword\" {set timeout 300; send \"$SSH_PW\r\";} |
| #!/bin/bash | #!/bin/bash | ||||
| ED8_Database_Name=db_ed8_ | |||||
| TMP_File=/ED/ED8/ED8restore_from_local.pw | |||||
| BAK_Project=ED8 | |||||
| Database_Name=db_ed8_ | |||||
| TMP_File=/ED/${BAK_Project}/${BAK_Project}restore_from_local.pw | |||||
| read -p "Please enter the user name of mysql $ED8_Database_Name: " edname | |||||
| read -p "Please enter the user name of mysql $Database_Name: " edname | |||||
| echo -e "ID\t$edname" > $TMP_File | echo -e "ID\t$edname" > $TMP_File | ||||
| read -p "Please enter the password of mysql $ED8_Database_Name: " edpw | |||||
| read -p "Please enter the password of mysql $Database_Name: " edpw | |||||
| echo -e "Password\t$edpw" >> $TMP_File | echo -e "Password\t$edpw" >> $TMP_File | ||||
| LOG1=/ED/ED8/Script_ED8/_LOG/ED8restore_from_local-mysql.log | |||||
| LOG1=/ED/${BAK_Project}/Script_${BAK_Project}/_LOG/${BAK_Project}restore_from_local-mysql.log | |||||
| edID=`cat $TMP_File | grep "ID" | awk '{print $NF}'` | edID=`cat $TMP_File | grep "ID" | awk '{print $NF}'` | ||||
| edPW=`cat $TMP_File | grep "Password" | awk '{print $NF}'` | edPW=`cat $TMP_File | grep "Password" | awk '{print $NF}'` | ||||
| echo -e "\033[32mBelow are all saved mysql backup files \033[0m" | echo -e "\033[32mBelow are all saved mysql backup files \033[0m" | ||||
| ls /ED/ED8/Backup_file/ -al | grep backup-mysql-ED8 | |||||
| ls /ED/${BAK_Project}/Backup_file/ -al | grep backup-mysql-${BAK_Project} | |||||
| echo | echo | ||||
| echo -e -n "\033[33mWhich file do you want to restore? \033[0m" | echo -e -n "\033[33mWhich file do you want to restore? \033[0m" | ||||
| read DATABASE_BAK_File_NAME | read DATABASE_BAK_File_NAME | ||||
| ls /ED/ED8/Backup_file/$DATABASE_BAK_File_NAME > /dev/null 2>&1 | |||||
| ls /ED/${BAK_Project}/Backup_file/$DATABASE_BAK_File_NAME > /dev/null 2>&1 | |||||
| if [[ $? != 0 ]]; then | if [[ $? != 0 ]]; then | ||||
| echo -e "\033[41;37mFail. The file ($DATABASE_BAK_File_NAME) doesn't exist. Exit \033[0m" | echo -e "\033[41;37mFail. The file ($DATABASE_BAK_File_NAME) doesn't exist. Exit \033[0m" | ||||
| echo | echo | ||||
| echo "======= `date +"%Y/%m/%d %H:%M:%S"` ==========================" | tee -a $LOG1 | echo "======= `date +"%Y/%m/%d %H:%M:%S"` ==========================" | tee -a $LOG1 | ||||
| echo "`date +"%Y/%m/%d %H:%M:%S"` - Starting restore ED8 mysql from dumped files" | 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;' | ||||
| mysql -u $edID -p$edPW -e 'show databases;' | grep $ED8_Database_Name | wc -l > /dev/null 2>&1 | |||||
| mysql -u $edID -p$edPW -e 'show databases;' | grep $Database_Name | wc -l > /dev/null 2>&1 | |||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e "\033[44;37m1/2: The database named $ED8_Database_Name exist, go next\033[0m" | tee -a $LOG1 | |||||
| echo -e "\033[44;37m1/2: The database named $Database_Name exist, go next\033[0m" | tee -a $LOG1 | |||||
| else | else | ||||
| echo "\033[45;37m1/2: There is no database named $ED8_Database_Name, next will create a new one automatically.\033[0m" | tee -a $LOG1 | |||||
| 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 " | expect -c " | ||||
| spawn sudo mysql -u $edID -p -e \"CREATE DATABASE IF NOT EXISTS $ED8_Database_Name\" | |||||
| spawn sudo mysql -u $edID -p -e \"CREATE DATABASE IF NOT EXISTS $Database_Name\" | |||||
| expect \"password for ed:\" | expect \"password for ed:\" | ||||
| send \"$edPW\r\" | send \"$edPW\r\" | ||||
| expect \"Enter password:\" | expect \"Enter password:\" | ||||
| sleep 2 | sleep 2 | ||||
| fi | fi | ||||
| #sudo mysql -u $edID -p $ED8_Database_Name < /ED/ED8/Backup_file/backup.sql | |||||
| #mysql -u $edID -p$edPW $ED8_Database_Name < /ED/ED8/Backup_file/backup.sql | |||||
| gunzip -c /ED/ED8/Backup_file/$DATABASE_BAK_File_NAME | mysql -u $edID -p$edpw $ED8_Database_Name #with gzip restore | |||||
| #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 | if [[ $? == 0 ]]; then | ||||
| echo -e "\033[44;37m2/2: Restored mysql. Finished\033[0m" | tee -a $LOG1 | echo -e "\033[44;37m2/2: Restored mysql. Finished\033[0m" | tee -a $LOG1 | ||||
| else | else |
| #!/bin/bash | #!/bin/bash | ||||
| ED8_Database_Name=db_ed8_ | |||||
| TMP_File=/ED/ED8/ED8restore_from_local.pw | |||||
| BAK_Project=ED8 | |||||
| Database_Name=db_ed8_ | |||||
| TMP_File=/ED/${BAK_Project}/${BAK_Project}restore_from_local.pw | |||||
| read -p "Please enter the user name of mysql $ED8_Database_Name: " edname | |||||
| read -p "Please enter the user name of mysql $Database_Name: " edname | |||||
| echo -e "ID\t$edname" > $TMP_File | echo -e "ID\t$edname" > $TMP_File | ||||
| read -p "Please enter the password of mysql $ED8_Database_Name: " edpw | |||||
| read -p "Please enter the password of mysql $Database_Name: " edpw | |||||
| echo -e "Password\t$edpw" >> $TMP_File | echo -e "Password\t$edpw" >> $TMP_File | ||||
| LOG1=/ED/ED8/Script_ED8/_LOG/ED8restore_from_local-mysql.log | |||||
| LOG1=/ED/${BAK_Project}/Script_${BAK_Project}/_LOG/${BAK_Project}restore_from_local-mysql.log | |||||
| edID=`cat $TMP_File | grep "ID" | awk '{print $NF}'` | edID=`cat $TMP_File | grep "ID" | awk '{print $NF}'` | ||||
| edPW=`cat $TMP_File | grep "Password" | awk '{print $NF}'` | edPW=`cat $TMP_File | grep "Password" | awk '{print $NF}'` | ||||
| echo -e "\033[32mBelow are all saved mysql backup files \033[0m" | echo -e "\033[32mBelow are all saved mysql backup files \033[0m" | ||||
| ls /ED/ED8/Backup_file/ -al | grep backup-mysql-ED8 | |||||
| ls /ED/${BAK_Project}/Backup_file/ -al | grep backup-mysql-${BAK_Project} | |||||
| echo | echo | ||||
| echo -e -n "\033[33mWhich file do you want to restore? \033[0m" | echo -e -n "\033[33mWhich file do you want to restore? \033[0m" | ||||
| read DATABASE_BAK_File_NAME | read DATABASE_BAK_File_NAME | ||||
| ls /ED/ED8/Backup_file/$DATABASE_BAK_File_NAME > /dev/null 2>&1 | |||||
| ls /ED/${BAK_Project}/Backup_file/$DATABASE_BAK_File_NAME > /dev/null 2>&1 | |||||
| if [[ $? != 0 ]]; then | if [[ $? != 0 ]]; then | ||||
| echo -e "\033[41;37mFail. The file ($DATABASE_BAK_File_NAME) doesn't exist. Exit \033[0m" | echo -e "\033[41;37mFail. The file ($DATABASE_BAK_File_NAME) doesn't exist. Exit \033[0m" | ||||
| echo | echo | ||||
| echo "======= `date +"%Y/%m/%d %H:%M:%S"` ==========================" | tee -a $LOG1 | echo "======= `date +"%Y/%m/%d %H:%M:%S"` ==========================" | tee -a $LOG1 | ||||
| echo "`date +"%Y/%m/%d %H:%M:%S"` - Starting restore ED8 mysql from dumped files" | tee -a $LOG1 | |||||
| echo "`date +"%Y/%m/%d %H:%M:%S"` - Starting restore ${BAK_Project} mysql from dumped files" | tee -a $LOG1 | |||||
| /opt/lampp/bin/mysql -u $edID -p$edPW -e 'show databases;' | /opt/lampp/bin/mysql -u $edID -p$edPW -e 'show databases;' | ||||
| /opt/lampp/bin/mysql -u $edID -p$edPW -e 'show databases;' | grep $ED8_Database_Name | wc -l > /dev/null 2>&1 | |||||
| /opt/lampp/bin/mysql -u $edID -p$edPW -e 'show databases;' | grep $Database_Name | wc -l > /dev/null 2>&1 | |||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e "\033[44;37m1/2: The database named $ED8_Database_Name exist, go next\033[0m" | tee -a $LOG1 | |||||
| echo -e "\033[44;37m1/2: The database named $Database_Name exist, go next\033[0m" | tee -a $LOG1 | |||||
| else | else | ||||
| echo "\033[45;37m1/2: There is no database named $ED8_Database_Name, next will create a new one automatically.\033[0m" | tee -a $LOG1 | |||||
| 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 " | expect -c " | ||||
| spawn sudo /opt/lampp/bin/mysql -u $edID -p -e \"CREATE DATABASE IF NOT EXISTS $ED8_Database_Name\" | |||||
| spawn sudo /opt/lampp/bin/mysql -u $edID -p -e \"CREATE DATABASE IF NOT EXISTS $Database_Name\" | |||||
| expect \"password for ed:\" | expect \"password for ed:\" | ||||
| send \"$edPW\r\" | send \"$edPW\r\" | ||||
| expect \"Enter password:\" | expect \"Enter password:\" | ||||
| sleep 2 | sleep 2 | ||||
| fi | fi | ||||
| #sudo /opt/lampp/bin/mysql -u $edID -p $ED8_Database_Name < /ED/ED8/Backup_file/backup.sql | |||||
| #/opt/lampp/bin/mysql -u $edID -p$edPW $ED8_Database_Name < /ED/ED8/Backup_file/backup.sql | |||||
| gunzip -c /ED/ED8/Backup_file/$DATABASE_BAK_File_NAME | /opt/lampp/bin/mysql -u $edID -p$edpw $ED8_Database_Name #with gzip restore | |||||
| #sudo /opt/lampp/bin/mysql -u $edID -p $Database_Name < /ED/${BAK_Project}/Backup_file/backup.sql | |||||
| #/opt/lampp/bin/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 | /opt/lampp/bin/mysql -u $edID -p$edpw $Database_Name #with gzip restore | |||||
| if [[ $? == 0 ]]; then | if [[ $? == 0 ]]; then | ||||
| echo -e "\033[44;37m2/2: Restored mysql. Finished\033[0m" | tee -a $LOG1 | echo -e "\033[44;37m2/2: Restored mysql. Finished\033[0m" | tee -a $LOG1 | ||||
| else | else |
| ===== 2019/08/11 23:49:39 ===== [45;37m./ED8backup-Script_ED8-Auto.sh[0m ===== | |||||
| [32mStart backup the Script_ED8 [0m | |||||
| [34mPass. Backup file saving folder: /ED/ED8/Backup_file exist, go next.[0m | |||||
| [34mPass. tar Script_ED8 file OK.[0m | |||||
| [34mPass. Make a copy file to "/ED/ED8/Backup_file". Finished![0m | |||||
| [32mCopy the backup files to Backup_Disk_A...[0m | |||||
| [34mPass. Copied to BAK_Disk_A. [0m | |||||
| [32mCopy the backup files to Backup_Disk_B...[0m | |||||
| [34mPass. Copied to BAK_Disk_B. [0m | |||||
| ===== 2019/08/11 23:49:57 ===== [45;37m./ED8backup-Source_Files-Auto.sh[0m ===== | |||||
| [32mStart backup the ED8 Source_Files [0m | |||||
| [34mPass. Backup file saving folder: /ED/ED8/Backup_file exist, go next.[0m | |||||
| [34mPass. tar Source_Files file OK.[0m | |||||
| [34mPass. Make a copy file to "/ED/ED8/Backup_file". Finished![0m | |||||
| [32mCopy the backup files to Backup_Disk_A...[0m | |||||
| [34mPass. Copied to BAK_Disk_A. [0m | |||||
| [32mCopy the backup files to Backup_Disk_B...[0m | |||||
| [34mPass. Copied to BAK_Disk_B. [0m | |||||
| ===== 2019/08/11 23:49:13 ===== [45;37m./ED8backup-mysql-Auto.sh[0m ===== | |||||
| >> [34mPass. /home/girl/PW/mysql_ED8.info exist.[0m | |||||
| >> [34mPass. There is a folder "/ED/ED8/Script_ED8/_LOG". [0m | |||||
| >> [34mPass. Backup file saving folder: /ED/ED8/Backup_file exist, go next.[0m | |||||
| [45;37m==========================================================================================[0m | |||||
| [41;37m Important! Please check below messages for making sure mysqldump be performed exactly. [0m | |||||
| >> [34mPass. mysql dump w/ gzip OK. [0m | |||||
| [45;37m==========================================================================================[0m | |||||
| [32mStarting make a copy with timastamp filename...[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/ED/ED8/Backup_file/backup-mysql-ED8-20190811-234913.gz) [0m | |||||
| >> [34mPass. The BAK_Disk_A "/dev/sdb" be detected by lsscsi. [0m | |||||
| >> [34mPass. The BAK_Disk_A mount point exist "/BAK_Disk_A"[0m | |||||
| >> [34mPass. The BAK_Disk_A (/dev/sdb) be mounted at "/BAK_Disk_A"[0m | |||||
| >> [34mPass. BAK_Disk_A Hostname folder: /BAK_Disk_A/girl-Home exist, go next.[0m | |||||
| >> [34mPass. BAK_Disk's Backup file saving folder: /BAK_Disk_A/girl-Home/ED8/Backup_file exist, go next.[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/BAK_Disk_A/girl-Home/ED8/Backup_file/backup-mysql-ED8-20190811-234913.gz) [0m | |||||
| >> [34mPass. The BAK_Disk_B "/dev/sda" be detected by lsscsi. [0m | |||||
| >> [34mPass. The BAK_Disk_B mount point exist "/BAK_Disk_B"[0m | |||||
| >> [34mPass. The BAK_Disk_B (/dev/sda) be mounted at "/BAK_Disk_B"[0m | |||||
| >> [34mPass. BAK_Disk_B Hostname folder: /BAK_Disk_B/girl-Home exist, go next.[0m | |||||
| >> [34mPass. BAK_Disk's Backup file saving folder: /BAK_Disk_B/girl-Home/ED8/Backup_file exist, go next.[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/BAK_Disk_B/girl-Home/ED8/Backup_file/backup-mysql-ED8-20190811-234913.gz) [0m | |||||
| ===== 2019/08/12 00:05:56 ===== [45;37m./ED8backup-mysql-Auto.sh[0m ===== | |||||
| >> [34mPass. /home/girl/PW/mysql_ED8.info exist.[0m | |||||
| >> [34mPass. There is a folder "/ED/ED8/Script_ED8/_LOG". [0m | |||||
| >> [34mPass. Backup file saving folder: /ED/ED8/Backup_file exist, go next.[0m | |||||
| [45;37m==========================================================================================[0m | |||||
| [41;37m Important! Please check below messages for making sure mysqldump be performed exactly. [0m | |||||
| >> [34mPass. mysql dump w/ gzip OK. [0m | |||||
| [45;37m==========================================================================================[0m | |||||
| [32mStarting make a copy with timastamp filename...[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/ED/ED8/Backup_file/backup-mysql-ED8-20190812-000556.gz) [0m | |||||
| >> [34mPass. The BAK_Disk_A "/dev/sdb" be detected by lsscsi. [0m | |||||
| >> [34mPass. The BAK_Disk_A mount point exist "/BAK_Disk_A"[0m | |||||
| >> [34mPass. The BAK_Disk_A (/dev/sdb) be mounted at "/BAK_Disk_A"[0m | |||||
| >> [34mPass. BAK_Disk_A Hostname folder: /BAK_Disk_A/girl-Home exist, go next.[0m | |||||
| >> [34mPass. BAK_Disk's Backup file saving folder: /BAK_Disk_A/girl-Home/ED8/Backup_file exist, go next.[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/BAK_Disk_A/girl-Home/ED8/Backup_file/backup-mysql-ED8-20190812-000556.gz) [0m | |||||
| >> [34mPass. The BAK_Disk_B "/dev/sda" be detected by lsscsi. [0m | |||||
| >> [34mPass. The BAK_Disk_B mount point exist "/BAK_Disk_B"[0m | |||||
| >> [34mPass. The BAK_Disk_B (/dev/sda) be mounted at "/BAK_Disk_B"[0m | |||||
| >> [34mPass. BAK_Disk_B Hostname folder: /BAK_Disk_B/girl-Home exist, go next.[0m | |||||
| >> [34mPass. BAK_Disk's Backup file saving folder: /BAK_Disk_B/girl-Home/ED8/Backup_file exist, go next.[0m | |||||
| >> [34mPass. Make a copy OK - [35m(/BAK_Disk_B/girl-Home/ED8/Backup_file/backup-mysql-ED8-20190812-000556.gz) [0m |
| ======= 2019/08/12 00:03:44 ========================== | |||||
| 2019/08/12 00:03:44 - Starting restore ED8 mysql from dumped files | |||||
| [44;37m1/2: The database named db_ed8_ exist, go next[0m | |||||
| [44;37m2/2: Restored mysql. Finished[0m | |||||
| ======= 2019/08/12 00:05:08 ========================== | |||||
| 2019/08/12 00:05:08 - Starting restore ED8 mysql from dumped files | |||||
| [44;37m1/2: The database named db_ed8_ exist, go next[0m | |||||
| [44;37m2/2: Restored mysql. Finished[0m | |||||