64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo '-------'
|
|
echo 'Starting Database Restore'
|
|
echo '-------'
|
|
|
|
#get Latest database backup
|
|
|
|
# Unzip File
|
|
# gzip -dk file.gz
|
|
|
|
BACKUPDIR="/home/mab/databaseBackupSolidScribe"
|
|
#DEVDBPASS="Crama!Lama*Jamma###88383!!!!!345345956245i"
|
|
#DEVDBPASS="RootPass1234!"
|
|
DEVDBPASS="ReallySecureRootPass123!"
|
|
# LazaLinga&33Can't!Do!That34
|
|
|
|
cd $BACKUPDIR
|
|
|
|
# -t sort by modification time, newest first
|
|
# -A --almost-all, do not list implied . and ..
|
|
LASTZIPPEDFILE=$(ls -At *.gz | head -n1)
|
|
|
|
# -k keep file after unzip
|
|
# -d Decompress
|
|
# -v verbose
|
|
echo "Unzipping $LASTZIPPEDFILE"
|
|
gunzip -dkv $LASTZIPPEDFILE
|
|
|
|
BACKUPFILE=$(ls -At *.sql | head -n1)
|
|
|
|
#Fix to replace incompatible DB type
|
|
echo "Updating table name in -> $BACKUPFILE"
|
|
#sed -i $BACKUPFILE -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g'
|
|
|
|
#Fix encoding for dev DB and exclude system tables
|
|
sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' $BACKUPFILE
|
|
sed -r '/INSERT INTO `(sys|mysql)`/d' $BACKUPFILE > $BACKUPFILE
|
|
|
|
echo "Removing and syncing static files"
|
|
rm -r /home/mab/ss/staticFiles/*
|
|
rsync -e 'ssh -p 13328' -hazC --update mab@solidscribe.com:/home/mab/pi/staticFiles /home/mab/ss/
|
|
|
|
echo "Updating Database"
|
|
mysql -u root --password="$DEVDBPASS" < $BACKUPFILE
|
|
|
|
## Optimize Database Tables
|
|
# mysqlcheck --all-databases
|
|
mysqlcheck --all-databases -o -u root --password="$DEVDBPASS" --silent
|
|
# mysqlcheck --all-databases --auto-repair
|
|
# mysqlcheck --all-databases --analyze
|
|
|
|
# Fix an issues with DB after messing around with it
|
|
mysql_upgrade -u root --password="$DEVDBPASS"
|
|
|
|
#clean up extracted and modified SQL dumps
|
|
rm *.sql
|
|
|
|
|
|
|
|
echo '-------'
|
|
echo "Applied Prod database to Dev. LastFile: $BACKUPFILE"
|
|
echo '-------'
|