|
@@ -7,7 +7,10 @@
|
|
|
SITE_CODE=$1
|
|
|
DOMAIN_NAME=$2
|
|
|
DATABASE_NAME=$3
|
|
|
-
|
|
|
+# 最大重试次数
|
|
|
+MAX_RETRIES=3
|
|
|
+# 初始重试次数
|
|
|
+RETRY_COUNT=0
|
|
|
TEMP_DOMAIN='v3-site.adwebcloud.com'
|
|
|
|
|
|
RDS_HOST='127.0.0.1'
|
|
@@ -26,7 +29,6 @@ echo "DOMAIN_NAME":$DOMAIN_NAME
|
|
|
echo "DATABASE_NAME":$DATABASE_NAME
|
|
|
|
|
|
#临时服务器打包项目代码和数据库文件
|
|
|
-
|
|
|
start_time=$(date +'%s')
|
|
|
echo "打包站点代码和数据库文件开始:"
|
|
|
ssh -i $TEMP_PEM -p 22 -o IdentitiesOnly=yes $TEMP_USER_NAME@$TEMP_IP << EOF
|
|
@@ -58,7 +60,7 @@ fi
|
|
|
end_time=$(date +'%s')
|
|
|
echo "创建生产目录和数据库完成,花费:"$((end_time - start_time))"s"
|
|
|
|
|
|
-#下载SQL文件
|
|
|
+##下载SQL文件
|
|
|
start_time=$(date +'%s')
|
|
|
echo "下载数据库文件并导入数据库开始:"
|
|
|
wget -P /usr/local/wwwroot/$DOMAIN_NAME/ http://download-template-v3.adwebcloud.com/$SITE_CODE.sql
|
|
@@ -69,14 +71,50 @@ echo "下载数据库文件并导入数据库完成,花费:"$((end_time - st
|
|
|
|
|
|
#下载站点文件
|
|
|
start_time=$(date +'%s')
|
|
|
-echo "下载代码包并解压缩到指定位置开始:"
|
|
|
-wget -P /usr/local/wwwroot/$DOMAIN_NAME/ http://download-template-v3.adwebcloud.com/$SITE_CODE.tar.gz
|
|
|
-tar -zxf /usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE.tar.gz -C /usr/local/wwwroot/$DOMAIN_NAME/
|
|
|
|
|
|
+# 函数:下载文件并显示进度
|
|
|
+download_file() {
|
|
|
+ echo "正在下载: http://download-template-v3.adwebcloud.com/$SITE_CODE.tar.gz"
|
|
|
+ wget -c "http://download-template-v3.adwebcloud.com/$SITE_CODE.tar.gz" -O "/usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE.tar.gz"
|
|
|
+ if [ $? -eq 0 ]; then
|
|
|
+ echo "下载成功: /usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE.tar.gz"
|
|
|
+ return 0
|
|
|
+ else
|
|
|
+ echo "下载失败: http://download-template-v3.adwebcloud.com/$SITE_CODE.tar.gz"
|
|
|
+ return 1
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+# 下载文件,直到成功或达到最大重试次数
|
|
|
+while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
|
|
|
+ download_file
|
|
|
+ if [ $? -eq 0 ]; then
|
|
|
+ break
|
|
|
+ else
|
|
|
+ RETRY_COUNT=$((RETRY_COUNT + 1))
|
|
|
+ echo "重试 $RETRY_COUNT/$MAX_RETRIES..."
|
|
|
+ fi
|
|
|
+done
|
|
|
+
|
|
|
+# 检查是否下载成功
|
|
|
+if [ $RETRY_COUNT -ge $MAX_RETRIES ]; then
|
|
|
+ echo "下载失败,已达到最大重试次数 $MAX_RETRIES"
|
|
|
+else
|
|
|
+ echo "文件已成功下载到 /usr/local/wwwroot/$DOMAIN_NAME/"
|
|
|
+fi
|
|
|
+
|
|
|
+#wget -P /usr/local/wwwroot/$DOMAIN_NAME/ http://download-template-v3.adwebcloud.com/$SITE_CODE.tar.gz
|
|
|
+end_time=$(date +'%s')
|
|
|
+echo "下载代码包完成,花费:"$((end_time - start_time))"s"
|
|
|
+
|
|
|
+#下载站点文件
|
|
|
+start_time=$(date +'%s')
|
|
|
+echo "解压缩到指定位置开始:"
|
|
|
+tar -zxf /usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE.tar.gz -C /usr/local/wwwroot/$DOMAIN_NAME/
|
|
|
mv /usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE/* /usr/local/wwwroot/$DOMAIN_NAME/
|
|
|
rm -rf /usr/local/wwwroot/$DOMAIN_NAME/$SITE_CODE
|
|
|
end_time=$(date +'%s')
|
|
|
-echo "下载代码包并解压缩到指定位置完成,花费:"$((end_time - start_time))"s"
|
|
|
+echo "解压缩到指定位置完成,花费:"$((end_time - start_time))"s"
|
|
|
|
|
|
#更新站点配置文件
|
|
|
start_time=$(date +'%s')
|
|
@@ -228,10 +266,10 @@ echo "开始重启nginx配置"
|
|
|
echo "nginx配置重启完成"echo "开始重启nginx配置"
|
|
|
|
|
|
#临时服务器清空之前的临时资源
|
|
|
-#ssh -i $TEMP_PEM -p 22 -o IdentitiesOnly=yes $TEMP_USER_NAME@$TEMP_IP << EOF
|
|
|
-# sudo -i
|
|
|
-# sh /opt/adweb3/shell/remove-wpsite.sh $SITE_CODE
|
|
|
-# exit
|
|
|
-#EOF
|
|
|
+ssh -i $TEMP_PEM -p 22 -o IdentitiesOnly=yes $TEMP_USER_NAME@$TEMP_IP << EOF
|
|
|
+ sudo -i
|
|
|
+ sh /opt/adweb3/shell/remove-wpsite.sh $SITE_CODE
|
|
|
+ exit
|
|
|
+EOF
|
|
|
|
|
|
echo "[Creation completed]"
|