Simple Linux Panel
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mdserver-web/scripts/update.sh

122 lines
3.3 KiB

#!/bin/bash
2 years ago
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin
export PATH
# LANG=en_US.UTF-8
is64bit=`getconf LONG_BIT`
startTime=`date +%s`
6 months ago
if [ -f /www/server/mdserver-web/tools.py ];then
6 months ago
echo -e "存在旧版代码,不能安装!,已知风险的情况下"
echo -e "rm -rf /www/server/mdserver-web"
echo -e "可安装!"
fi
_os=`uname`
3 years ago
echo "use system: ${_os}"
3 years ago
if [ "$EUID" -ne 0 ]
then echo "Please run as root!"
exit
fi
2 years ago
if [ ${_os} != "Darwin" ] && [ ! -d /www/server/mdserver-web/logs ]; then
mkdir -p /www/server/mdserver-web/logs
fi
10 months ago
LOG_FILE=/var/log/mw-update.log
{
2 years ago
if [ ${_os} == "Darwin" ]; then
3 years ago
OSNAME='macos'
2 years ago
elif grep -Eqi "openSUSE" /etc/*-release; then
3 years ago
OSNAME='opensuse'
zypper refresh
2 years ago
elif grep -Eqi "EulerOS" /etc/*-release || grep -Eqi "openEuler" /etc/*-release; then
2 years ago
OSNAME='euler'
2 years ago
elif grep -Eqi "FreeBSD" /etc/*-release; then
3 years ago
OSNAME='freebsd'
2 years ago
elif grep -Eqi "CentOS" /etc/issue || grep -Eqi "CentOS" /etc/*-release; then
2 years ago
OSNAME='rhel'
2 years ago
yum install -y wget zip unzip
2 years ago
elif grep -Eqi "Fedora" /etc/issue || grep -Eqi "Fedora" /etc/*-release; then
2 years ago
OSNAME='rhel'
2 years ago
yum install -y wget zip unzip
2 years ago
elif grep -Eqi "Rocky" /etc/issue || grep -Eqi "Rocky" /etc/*-release; then
2 years ago
OSNAME='rhel'
2 years ago
yum install -y wget zip unzip
2 years ago
elif grep -Eqi "AlmaLinux" /etc/issue || grep -Eqi "AlmaLinux" /etc/*-release; then
2 years ago
OSNAME='rhel'
2 years ago
yum install -y wget zip unzip
2 years ago
elif grep -Eqi "Amazon Linux" /etc/issue || grep -Eqi "Amazon Linux" /etc/*-release; then
2 years ago
OSNAME='amazon'
yum install -y wget zip unzip
2 years ago
elif grep -Eqi "Debian" /etc/issue || grep -Eqi "Debian" /etc/*-release; then
3 years ago
OSNAME='debian'
2 years ago
apt install -y wget zip unzip
2 years ago
elif grep -Eqi "Ubuntu" /etc/issue || grep -Eqi "Ubuntu" /etc/*-release; then
2 years ago
OSNAME='ubuntu'
apt install -y wget zip unzip
2 years ago
elif grep -Eqi "Raspbian" /etc/issue || grep -Eqi "Raspbian" /etc/*-release; then
2 years ago
OSNAME='raspbian'
else
OSNAME='unknow'
fi
3 years ago
2 years ago
HTTP_PREFIX="https://"
LOCAL_ADDR=common
2 years ago
cn=$(curl -fsSL -m 10 -s http://ipinfo.io/json | grep "\"country\": \"CN\"")
2 years ago
if [ ! -z "$cn" ] || [ "$?" == "0" ] ;then
2 years ago
LOCAL_ADDR=cn
HTTP_PREFIX="https://mirror.ghproxy.com/"
2 years ago
fi
2 years ago
echo "local:${LOCAL_ADDR}"
2 years ago
2 years ago
CP_CMD=/usr/bin/cp
if [ -f /bin/cp ];then
CP_CMD=/bin/cp
fi
2 years ago
if [ "$LOCAL_ADDR" != "common" ];then
1 year ago
# curl --insecure -sSLo /tmp/master.zip https://code.midoks.icu/midoks/mdserver-web/archive/master.zip
wget --no-check-certificate -O /tmp/master.zip https://code.midoks.icu/midoks/mdserver-web/archive/master.zip
2 years ago
cd /tmp && unzip /tmp/master.zip
$CP_CMD -rf /tmp/mdserver-web/* /www/server/mdserver-web
rm -rf /tmp/master.zip
rm -rf /tmp/mdserver-web
3 years ago
else
2 years ago
curl --insecure -sSLo /tmp/master.zip https://codeload.github.com/midoks/mdserver-web/zip/master
2 years ago
2 years ago
cd /tmp && unzip /tmp/master.zip
$CP_CMD -rf /tmp/mdserver-web-master/* /www/server/mdserver-web
rm -rf /tmp/master.zip
rm -rf /tmp/mdserver-web-master
2 years ago
fi
5 years ago
#pip uninstall public
3 years ago
echo "use system version: ${OSNAME}"
cd /www/server/mdserver-web && bash scripts/update/${OSNAME}.sh
3 years ago
bash /etc/rc.d/init.d/mw restart
bash /etc/rc.d/init.d/mw default
3 years ago
if [ -f /usr/bin/mw ];then
rm -rf /usr/bin/mw
fi
3 years ago
if [ ! -e /usr/bin/mw ]; then
if [ ! -f /usr/bin/mw ];then
ln -s /etc/rc.d/init.d/mw /usr/bin/mw
3 years ago
fi
fi
endTime=`date +%s`
3 years ago
((outTime=($endTime-$startTime)/60))
echo -e "Time consumed:\033[32m $outTime \033[0mMinute!"
10 months ago
} 1> >(tee $LOG_FILE) 2>&1