44 lines
1.5 KiB
Bash
Executable File
44 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
DATE=`date +%Y%m%d%H%M`
|
|
USER=`cat /etc/mysql/debian.cnf |grep user|head -1|awk '{print $3}'`
|
|
PASSWORD=`cat /etc/mysql/debian.cnf |grep password|head -1|awk '{print $3}'`
|
|
WWW=`grep www /etc/passwd|awk -F: '{print $1}'`
|
|
|
|
if [ `whoami` = "root" ];then
|
|
cd /home/judge/
|
|
chsh judge -s /sbin/nologin
|
|
mkdir new
|
|
cd new
|
|
wget -O hustoj.tar.gz http://dl.hustoj.com/hustoj.tar.gz
|
|
tar xzf hustoj.tar.gz
|
|
mv src/* ./
|
|
cd ..
|
|
chmod +x new/install/*.sh
|
|
if test -e /home/judge/src/web/include/db_info.inc.php ;then
|
|
echo 'db_info.inc.php exists !';
|
|
new/install/merge.sh src/web/include/db_info.inc.php new/web/include/db_info.inc.php
|
|
else
|
|
echo 'db_info.inc.php not found';
|
|
sed -i "s/DB_USER[[:space:]]*=[[:space:]]*\"root\"/DB_USER=\"$USER\"/g" new/web/include/db_info.inc.php
|
|
sed -i "s/DB_PASS[[:space:]]*=[[:space:]]*\"root\"/DB_PASS=\"$PASSWORD\"/g" new/web/include/db_info.inc.php
|
|
fi
|
|
cp -a src/web/upload/* new/web/upload/
|
|
mv src "old.$DATE"
|
|
echo "Your old files are moved to old.$DATE , find them if you need ."
|
|
mv new src
|
|
chmod +x src/install/*.sh
|
|
sed -i "s/OJ_INTERNAL_CLIENT=1/OJ_INTERNAL_CLIENT=0/g" /home/judge/etc/judge.conf
|
|
pkill -9 judged
|
|
cd src/core
|
|
bash make.sh
|
|
judged
|
|
cd /home/judge
|
|
#不要合并,必须重新进入,否则执行的update.sql是老版本,没有更新
|
|
cd src/install
|
|
bash mysql.sh < update.sql
|
|
cd ../..
|
|
chown $WWW:$WWW -R src
|
|
else
|
|
echo "usage: sudo $0"
|
|
fi
|