|
|
|
|
#!/bin/sh
|
|
|
|
|
echo "Upgrade machete ..."
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
#增加手动下载更新包后更新操作
|
|
|
|
|
manual=$1
|
|
|
|
|
|
|
|
|
|
## 默认从git.filesite.io升级最新版
|
|
|
|
|
download_link_filesite="https://git.filesite.io/filesite/machete/archive/master.tar.gz"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 检测域名是否能连接
|
|
|
|
|
# 返回值:0 - 不能连接,1 - 可连接
|
|
|
|
|
detectDomainCanConnect () {
|
|
|
|
|
domain=$1
|
|
|
|
|
if [ -z "${domain}" ]; then
|
|
|
|
|
echo "Usage: detectDomainCanConnect domain"
|
|
|
|
|
echo ""
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
ping_res=`ping -c 3 "${domain}"`
|
|
|
|
|
if [[ $ping_res == *"100.0% packet loss"* ]]; then
|
|
|
|
|
return 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
return 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ ! -d /var/www/downloads ]; then
|
|
|
|
|
mkdir -p /var/www/downloads
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cd /var/www/downloads/
|
|
|
|
|
|
|
|
|
|
# 下载压缩包
|
|
|
|
|
if [ -z "${manual}" ]; then
|
|
|
|
|
if [ -f master.tar.gz ]; then
|
|
|
|
|
rm -f master.tar.gz
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -d machete/ ]; then
|
|
|
|
|
rm -rf machete/
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
echo "尝试从filesite.io下载最新版源码..."
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
detect_domain="git.filesite.io"
|
|
|
|
|
echo "检测${detect_domain}是否可连接..."
|
|
|
|
|
detectDomainCanConnect "${detect_domain}"
|
|
|
|
|
connect_res=$?
|
|
|
|
|
if [ $connect_res -eq 0 ]; then
|
|
|
|
|
echo "⚠️⚠️"
|
|
|
|
|
echo "当前网络无法连接[${detect_domain}]"
|
|
|
|
|
echo "请手动下载:${download_link_filesite},并保存到:/var/www/downloads/"
|
|
|
|
|
echo "再执行:/var/www/machete/upgrade.sh manual"
|
|
|
|
|
echo ""
|
|
|
|
|
exit
|
|
|
|
|
else
|
|
|
|
|
curl --connect-timeout 15 "${download_link_filesite}" -o "master.tar.gz"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -f "master.tar.gz" ]; then
|
|
|
|
|
|
|
|
|
|
tar -zxvf master.tar.gz
|
|
|
|
|
rm -f master.tar.gz
|
|
|
|
|
|
|
|
|
|
rsync -vrL machete/* /var/www/machete/ \
|
|
|
|
|
--exclude=www/content/ \
|
|
|
|
|
--exclude=www/navs/ \
|
|
|
|
|
--exclude=www/girls/ \
|
|
|
|
|
--exclude=www/videos/ \
|
|
|
|
|
--exclude=www/tajian/ \
|
|
|
|
|
--exclude=runtime/
|
|
|
|
|
|
|
|
|
|
echo "Machete front-end upgraded."
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# upgrade nginx config
|
|
|
|
|
if [ -d /etc/nginx/http.d/ ]; then
|
|
|
|
|
cp /var/www/machete/conf/nginx_machete.conf /etc/nginx/http.d/machete.conf
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -d /etc/nginx/conf.d/ ]; then
|
|
|
|
|
cp /var/www/machete/conf/nginx_machete.conf /etc/nginx/conf.d/machete.conf
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
/usr/sbin/nginx -s reload
|
|
|
|
|
echo "Nginx config upgraded and reloaded."
|
|
|
|
|
echo ""
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
echo "没有找到源码压缩包:/var/www/downloads/master.tar.gz"
|
|
|
|
|
echo ""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo ""
|
|
|
|
|
echo "==Machete upgrade done.=="
|
|
|
|
|
echo ""
|