2024-10-10
This commit is contained in:
38
install/restore.sh
Executable file
38
install/restore.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#/bin/bash
|
||||
TARBZNAME=`find -name "hustoj_*.tar.bz2"`
|
||||
if [ $# != 1 ] ; then
|
||||
echo "USAGE: sudo $0 $TARBZNAME"
|
||||
echo " e.g.: sudo $0 hustoj_xxxxxxx.tar.bz2"
|
||||
echo " tar.bz2 should be created by bak.sh, default location : /var/backups/ "
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
DATE=`date +%Y%m%d%H%M%S`
|
||||
BAKDATE=`echo $1 |awk -F\. '{print $1}'|awk -F_ '{print $2}'`
|
||||
config="/home/judge/etc/judge.conf"
|
||||
SERVER=`cat $config|grep 'OJ_HOST_NAME' |awk -F= '{print $2}'`
|
||||
USER=`cat $config|grep 'OJ_USER_NAME' |awk -F= '{print $2}'`
|
||||
PASSWORD=`cat $config|grep 'OJ_PASSWORD' |awk -F= '{print $2}'`
|
||||
DATABASE=`cat $config|grep 'OJ_DB_NAME' |awk -F= '{print $2}'`
|
||||
mkdir hustoj-restore
|
||||
cd hustoj-restore
|
||||
MAIN="../$1"
|
||||
/home/judge/src/install/bak.sh
|
||||
tar xjf $MAIN
|
||||
mv /home/judge/data /home/judge/data.del.$DATE
|
||||
mv home/judge/data /home/judge/
|
||||
chown www-data -R /home/judge/data
|
||||
mv /home/judge/src/web/upload /home/judge/src/web/upload.del.$DATE
|
||||
mv home/judge/src/web/upload /home/judge/src/web/
|
||||
chown www-data -R /home/judge/src/web/
|
||||
bzip2 -d var/backups/db_${BAKDATE}.sql.bz2
|
||||
sed -i 's/COLLATE=utf8mb4_0900_ai_ci//g' var/backups/db_${BAKDATE}.sql
|
||||
sed -i 's/COLLATE utf8mb4_0900_ai_ci//g' var/backups/db_${BAKDATE}.sql
|
||||
sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' var/backups/db_${BAKDATE}.sql
|
||||
if ! mysql -h $SERVER -u$USER -p$PASSWORD $DATABASE < var/backups/db_${BAKDATE}.sql ; then
|
||||
mysql $DATABASE < var/backups/db_${BAKDATE}.sql
|
||||
fi
|
||||
if ! mysql -h $SERVER -u$USER -p$PASSWORD $DATABASE < /home/judge/src/install/update.sql ; then
|
||||
mysql $DATABASE < /home/judge/src/install/update.sql
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user