Browse Source

站点发布脚本更新

chenlei1231 2 months ago
parent
commit
0cfb56a53c
1 changed files with 50 additions and 12 deletions
  1. 50 12
      publish_wp_site.sh

+ 50 - 12
publish_wp_site.sh

@@ -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]"