diff --git a/product-deploy.sh b/product-deploy.sh
index 75d4277c501d090d30a9741550823e67ce3013c3..1682b33d0090dfdd9f7040d72d9569c5a5370cb1 100644
--- a/product-deploy.sh
+++ b/product-deploy.sh
@@ -50,6 +50,7 @@ MYSQL_SERVICE="${SERVICE_PATH}/mysql.service"
 RABBITMQ="rabbitmq"
 RABBIT_CENTOS_FILENAME="rabbitmq-server-3.9.16-1.el7.noarch.rpm"
 ELANG_CENTOS_FILENAME="erlang-23.3.4.11-1.el7.x86_64.rpm"
+RABBITMQ_IP="127.0.0.1"
 RABBITMQ_USER="taxi_mq"
 RABBITMQ_PASSWORD="admin@2020"
 RABBITMQ_CONF_PATH="/etc/rabbitmq/"
@@ -67,10 +68,16 @@ CDATE=$(date "+%Y-%m-%d")
 CTIME=$(date "+%H-%M-%S")
 
 NACOS="nacos"
+NACOS_HOST="127.0.0.1"
 NACOS_FILENAME="nacos-server-2.1.1.tar.gz"
 NACOS_SERVICE="${SERVICE_PATH}/${NACOS}.service"
 NACOS_EXECPATH="${OPT_PATH}/${NACOS}"
 
+# 椤圭洰閮ㄧ讲骞冲彴
+SETUP_PROJECT_PLATFORM="setup-project-manager"
+SETUP_PROJECT_PLATFORM_FILENAME="${SETUP_PROJECT_PLATFORM}.tar.gz"
+SETUP_PROJECT_PLATFORM_SERVICE="${SERVICE_PATH}/${SETUP_PROJECT_PLATFORM}.service"
+SETUP_PROJECT_PLATFORM_EXECPATH="${PUBLISH_PATH}/${SETUP_PROJECT_PLATFORM}"
 
 #鍔犻攣
 shell_lock() {
@@ -87,8 +94,6 @@ writelog() {
   echo ${LOGINFO}
 }
 
-
-
 check_cpu() {
   cpu_info=$(arch)
   writelog ${cpu_info}
@@ -119,10 +124,9 @@ setup_java() {
   echo "export JRE_HOME=$JAVA_HOME/jre" >>/etc/profile
   echo "export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib" >>/etc/profile
   echo "export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin" >>/etc/profile
-  source /etc/profile #浣块厤缃珛鍗崇敓鏁�
   #妫€鏌ava瀹夎鍜岄厤缃�
   cd $BASEDIR
-  writelog "setup java finish!"
+  writelog "JAVA 鐜杞欢瀹夎瀹屾垚"
 }
 
 setup_redis() {
@@ -161,7 +165,7 @@ WantedBy=multi-user.target
   systemctl daemon-reload
   systemctl start redis
 
-  writelog "setup redis finish"
+  writelog "REDIS鐜杞欢瀹夎瀹屾垚锛�"
 }
 
 setup_mysql() {
@@ -188,7 +192,7 @@ socket=/tmp/mysql.sock
 port = ${MYSQL_PORT}
 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
 symbolic-links=0
-max_connections=400
+max_connections=800
 innodb_file_per_table=1
 #琛ㄥ悕瀛樺偍鍦ㄧ鐩樻槸灏忓啓鐨勶紝浣嗘槸姣旇緝鐨勬椂鍊欐槸涓嶅尯鍒嗗ぇ灏忓啓
 lower_case_table_names=1
@@ -269,16 +273,12 @@ setup_rabbitmq() {
   rabbitmqctl set_user_tags ${RABBITMQ_USER} administrator         # 璁剧疆鐢ㄦ埛瑙掕壊,鍒嗛厤鎿嶄綔鏉冮檺
   rabbitmqctl set_permissions -p / ${RABBITMQ_USER} ".*" ".*" ".*" # 涓虹敤鎴锋坊鍔犺祫婧愭潈闄�(鎺堜簣璁块棶铏氭嫙鏈烘牴鑺傜偣鐨勬墍鏈夋潈闄�)
 
-
-
 }
 
 setup_nginx() {
   writelog "setup nginx"
-  writelog "stop and remove nginx"
   systemctl stop nginx
 
-  writelog "centos nginx clear"
   yum remove nginx
   writelog "nginx depend install"
   yum -y install pcre-devel openssl openssl-devel gd-devel gcc gcc-c++
@@ -295,7 +295,7 @@ setup_nginx() {
   make
   make install
 
-  cp -a ${BASEDIR}/release/conf/${NGINX}.conf ${NGINX_CONF}
+  /bin/cp -arf ${BASEDIR}/release/conf/${NGINX}.conf ${NGINX_CONF}
 
   echo "[Unit]
   Description=${NGINX}
@@ -322,6 +322,21 @@ setup_nginx() {
 
 }
 
+
+setup_font() {
+  writelog "瀛椾綋瀹夎..."
+  yum install -y fontconfig mkfontscale
+
+  tar -zvxf $BASEDIR/soft/font/Fonts.tar.gz -C /usr/share/fonts
+
+  chmod -R 755 /usr/share/fonts/Fonts
+  mkfontscale
+  mkfontdir
+  fc-cache -f -v
+  writelog "瀛椾綋瀹夎瀹屾垚"
+
+}
+
 clear_deploy() {
   PROJECT_NAME=$1
   SERVICE=$2
@@ -331,11 +346,12 @@ clear_deploy() {
   rm -rf ${EXECPATH}
   rm -f ${NGINX_CONF_PATH}/${PROJECT_NAME}.conf
 
-  mkdir -p ${EXECPATH}
+  if [ ! -d ${EXECPATH} ]; then
+    mkdir -p ${EXECPATH}
+    chmod -R 755 $EXECPATH
+  fi
 }
 
-
-
 init_setup() {
 
   writelog "linux install and update"
@@ -343,18 +359,32 @@ init_setup() {
   yum install -y gcc
   yum install -y socat
 
-
 }
 
 init_deploy() {
-  writelog "init_deploy..."
-  mkdir -p ${PUBLISH_PATH}
-  chmod -R 755 $PUBLISH_PATH
+  writelog "鍒涘缓鏂囦欢鐩綍..."
+
+  if [ ! -d ${OPT_PATH} ]; then
+    mkdir -p ${OPT_PATH}
+    chmod -R 755 $OPT_PATH
+  fi
 
-  mkdir -p /mortals/app/data
-  mkdir -p /mortals/app/logs
-  chmod -R 755 /mortals
-  writelog "init_deploy finish"
+  if [ ! -d ${PUBLISH_PATH} ]; then
+    mkdir -p ${PUBLISH_PATH}
+    chmod -R 755 $PUBLISH_PATH
+  fi
+
+  if [ ! -d "/mortals/app/data" ]; then
+    mkdir -p /mortals/app/data
+    chmod -R 755 /mortals
+  fi
+
+  if [ ! -d "/mortals/app/logs" ]; then
+    mkdir -p /mortals/app/logs
+    chmod -R 755 /mortals
+  fi
+
+  writelog "鍒涘缓鏂囦欢鐩綍瀹屾垚"
 
 }
 
@@ -380,6 +410,50 @@ build_service() {
 
 }
 
+build_nginx_mysql_stream() {
+  #    upstream upstreams_mysql {
+  #                server 192.168.106.7:3306 max_fails=3 fail_timeout=30s;
+  #        }
+  #  server {
+  #                listen 1208;
+  # proxy_connect_timeout 5s;
+  #    proxy_timeout 30s;
+  #   proxy_pass 192.168.10.151:3306; #闇€瑕佷唬鐞嗙殑绔彛
+  #                proxy_pass 192.168.106.7:3306 max_fails=5 fail_timeout=30s;
+  #        }
+  SERVICE=$1
+  echo " server {" >${SERVICE}
+  echo "   listen 3306;" >>${SERVICE}
+  echo "   proxy_connect_timeout 10s;" >>${SERVICE}
+  echo "   proxy_timeout 30s;" >>${SERVICE}
+  echo "   proxy_pass ${MYSQL_HOST}:${MYSQL_PORT};" >>${SERVICE}
+  echo " }" >>${SERVICE}
+  writelog "mysql tcp浠g悊鍒涘缓瀹屾垚"
+
+}
+
+build_nginx_redis_stream() {
+  #    upstream upstreams_mysql {
+  #                server 192.168.106.7:3306 max_fails=3 fail_timeout=30s;
+  #        }
+  #  server {
+  #                listen 1208;
+  # proxy_connect_timeout 5s;
+  #    proxy_timeout 30s;
+  #   proxy_pass 192.168.10.151:3306; #闇€瑕佷唬鐞嗙殑绔彛
+  #                proxy_pass 192.168.106.7:3306 max_fails=5 fail_timeout=30s;
+  #        }
+  SERVICE=$1
+  echo " server {" >${SERVICE}
+  echo "   listen ${REDIS_HOST};" >>${SERVICE}
+  echo "   proxy_connect_timeout 10s;" >>${SERVICE}
+  echo "   proxy_timeout 30s;" >>${SERVICE}
+  echo "   proxy_pass ${REDIS_HOST}:${REDIS_HOST};" >>${SERVICE}
+  echo " }" >>${SERVICE}
+  writelog "mysql tcp浠g悊鍒涘缓瀹屾垚"
+
+}
+
 start_service_and_nginx() {
   PROJECT_NAME=$1
   systemctl enable ${PROJECT_NAME}
@@ -394,16 +468,31 @@ start_service_and_nginx() {
 }
 
 nacos_deploy() {
-  writelog "${NACOS}_deploy..."
+  writelog "寮€濮嬪畨瑁匩ACOS"
+  #writelog "鍒ゆ柇褰撳墠NACOS 鐨処P鏄惁宸茬粡淇敼锛屽鏋滀慨鏀逛簡锛屽垯閲嶆柊鐢熸垚閰嶇疆鏂囦欢 IP:$NACOS_HOST"
+  #writelog "鍒ゆ柇褰撳墠mysql 鐨処P鏄惁宸茬粡淇敼锛屽鏋滀慨鏀逛簡锛屽垯閲嶆柊鐢熸垚閰嶇疆鏂囦欢 IP:$MYSQL_HOST"
+  if [ "$MYSQL_HOST" != "127.0.0.1" ]; then
+    writelog "鍒ゆ柇褰撳墠mysql 鐨処P宸茬粡淇敼锛屽垯閲嶆柊鐢熸垚閰嶇疆鏂囦欢 IP:$MYSQL_HOST"
+    build_nginx_mysql_stream $NGINX_CONF_PATH/mysql_stream.stream
+    #todo 娣诲姞nginx 閽堝褰撳墠ip鐨剆ql stream浠g悊
+  fi
+  #鏌ョ湅杩涚▼鏄惁瀛樺湪锛屽鏋滃瓨鍦� 鍒欎笉瀹夎
+  project_status=$(systemctl status "${NACOS}" | grep Active | awk '{print $2}')
+  if [ -n "$project_status" ]; then
+    echo "NACOS椤圭洰宸茬粡瀹夎,鐘舵€�: $project_status"
+    return
+  fi
+
   rm -rf ${NACOS_SERVICE}
   rm -rf ${NACOS_EXECPATH}
   mkdir -p ${NACOS_EXECPATH}
-  writelog "tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 3"
-  tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 3
-  writelog "${NACOS}_deploy init db..."
-  writelog " mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <${NACOS_EXECPATH}/db/nacos.sql"
-  mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <${NACOS_EXECPATH}/db/nacos.sql
+  writelog "tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 1"
+  tar -zvxf $BASEDIR/release/nacos/${NACOS_FILENAME} -C ${NACOS_EXECPATH} --strip-components 1
+  writelog "NACOS 瀵煎叆鏁版嵁搴撲腑..."
+  writelog " mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <./db/nacos.sql"
+  mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <./db/nacos.sql
 
+  writelog "鍒涘缓NACOS鍚姩鏈嶅姟..."
   echo "" >$NACOS_SERVICE
   echo "[Unit]" >>$NACOS_SERVICE
   echo "Description=nacos" >>$NACOS_SERVICE
@@ -418,24 +507,60 @@ nacos_deploy() {
   echo "" >>$NACOS_SERVICE
   echo "[Install]" >>$NACOS_SERVICE
   echo "WantedBy=multi-user.target" >>$NACOS_SERVICE
-  writelog "NACOS_SERVICE鍒涘缓瀹屾垚!"
 
-  systemctl enable ${NACOS}
+  chmod -R 755 $NACOS_EXECPATH
+  systemctl enable $NACOS_SERVICE
   systemctl daemon-reload
   systemctl stop ${NACOS} && systemctl start ${NACOS}
-  project_status=$(systemctl status "${PROJECT_NAME}" | grep Active | awk '{print $2}')
+  writelog "NACOS_SERVICE鍒涘缓鍚姩瀹屾垚!"
+  project_status=$(systemctl status "${NACOS}" | grep Active | awk '{print $2}')
   jcpid=$(ps -ef | grep -v "grep" | grep "${NACOS} " | awk '{print $2}')
   writelog "${NACOS}鏈嶅姟鍚姩!pid is ${jcpid},status is ${project_status}"
 }
 
+setup_project_deploy() {
+  writelog "寮€濮嬪畨瑁呴」鐩儴缃插钩鍙�"
+  #writelog "鍒ゆ柇褰撳墠NACOS 鐨処P鏄惁宸茬粡淇敼锛屽鏋滀慨鏀逛簡锛屽垯閲嶆柊鐢熸垚閰嶇疆鏂囦欢 IP:$NACOS_HOST"
+
+  if [ "$MYSQL_HOST" != "127.0.0.1" ]; then
+    writelog "鍒ゆ柇褰撳墠mysql 鐨処P宸茬粡淇敼锛屽垯閲嶆柊鐢熸垚閰嶇疆鏂囦欢 IP:$MYSQL_HOST"
+    build_nginx_mysql_stream $NGINX_CONF_PATH/mysql_stream.stream
+  fi
+
+  project_status=$(systemctl status "${SETUP_PROJECT_PLATFORM}" | grep Active | awk '{print $2}')
+  if [ -n "$project_status" ]; then
+    writelog "宸ョ▼宸茬粡瀹夎,鐘舵€�: $project_status"
+    return
+  fi
+
+  clear_deploy ${SETUP_PROJECT_PLATFORM} ${SETUP_PROJECT_PLATFORM_SERVICE} ${SETUP_PROJECT_PLATFORM_EXECPATH}
+  writelog "椤圭洰瀹夎骞冲彴娓呯悊瀹屾垚"
+  writelog "椤圭洰瀹夎骞冲彴閮ㄧ讲涓�..."
+  tar -zvxf ${BASEDIR}/release/${SETUP_PROJECT_PLATFORM}/${SETUP_PROJECT_PLATFORM_FILENAME} -C ${PUBLISH_PATH}
+
+  writelog "椤圭洰瀹夎骞冲彴瀵煎叆鏁版嵁搴撲腑..."
+  writelog " mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <./db/setup.sql"
+  mysql -h${MYSQL_HOST} -P${MYSQL_PORT} -u${MYSQL_USER} -p${MYSQL_PASSWORD} <./db/setup.sql
+  writelog "椤圭洰瀹夎骞冲彴瀵煎叆鏁版嵁搴撳畬鎴愶紒"
+  writelog "鍒涘缓椤圭洰鍚姩鏈嶅姟..."
+  build_service ${SETUP_PROJECT_PLATFORM} ${SETUP_PROJECT_PLATFORM_SERVICE} ${SETUP_PROJECT_PLATFORM_EXECPATH}
 
+  chmod -R 755 $PUBLISH_PATH
+  systemctl enable $SETUP_PROJECT_PLATFORM
+  systemctl daemon-reload
+  systemctl stop ${SETUP_PROJECT_PLATFORM} && systemctl start ${SETUP_PROJECT_PLATFORM}
+  writelog "瀹夎骞冲彴鏈嶅姟鍒涘缓鍚姩瀹屾垚!"
+  project_status=$(systemctl status "${SETUP_PROJECT_PLATFORM}" | grep Active | awk '{print $2}')
+  jcpid=$(ps -ef | grep -v "grep" | grep "${SETUP_PROJECT_PLATFORM} " | awk '{print $2}')
+  writelog "瀹夎骞冲彴鏈嶅姟鍚姩!pid is ${jcpid},status is ${project_status}"
+}
 
 rollback() {
-  echo "鍔熻兘鏈疄鐜帮紒"
+  writelog "鍔熻兘鏈疄鐜帮紒"
 }
 
 back_menu() {
-  echo "鍔熻兘鏈疄鐜帮紒"
+  writelog "鍔熻兘鏈疄鐜帮紒"
 }
 
 program_deploy() {
@@ -444,13 +569,14 @@ program_deploy() {
   setup_mysql
   setup_nginx
   setup_redis
+  setup_font
   setup_rabbitmq
   writelog "system setup finish"
 }
 
 project_deploy() {
-  init_deploy #鍒濆鍖栨枃浠剁洰褰曢儴鍒�
-  nacos_deploy #nacos閮ㄧ讲
+  init_deploy          #鍒濆鍖栨枃浠剁洰褰曢儴鍒�
+  nacos_deploy         #nacos閮ㄧ讲
   setup_project_deploy #椤圭洰閮ㄧ讲骞冲彴
 }
 
@@ -468,6 +594,10 @@ function menu() { #鏄剧ず鑿滃崟
 
              4.redis杩炴帴閰嶇疆
 
+             5.rabbitmq杩炴帴閰嶇疆
+
+             6.nacos杩炴帴閰嶇疆
+
              0.閫€鍑�
 
 
@@ -491,7 +621,9 @@ function submenu() { #鏄剧ず瀛愯彍鍗�
 
              5.nginx瀹夎
 
-             6.鍏ㄩ儴瀹夎
+             6.瀛椾綋瀹夎
+
+             7.鍏ㄩ儴瀹夎
 
              9.鏇存柊Linux绯荤粺
 
@@ -502,7 +634,6 @@ function submenu() { #鏄剧ず瀛愯彍鍗�
 eof
 }
 
-
 function num() { #閫夐」
   read -p "璇疯緭鍏ユ偍闇€瑕佹搷浣滅殑椤圭洰: " number
   case $number in
@@ -513,8 +644,17 @@ function num() { #閫夐」
     done
     ;;
   2)
-      project_deploy
-      ;;
+    project_deploy
+    ;;
+  3)
+    mysql_config
+    ;;
+  4)
+    redis_config
+    ;;
+  5)
+    rabbitmq_config
+    ;;
   5)
     rollback
     ;;
@@ -530,21 +670,29 @@ function subnum() { #閫夐」
   read -p "璇疯緭鍏ユ偍闇€瑕佸畨瑁呯殑鐜杞欢: " number
   case $number in
   1)
+    #Java
     setup_java
     ;;
   2)
+    #mysql
     setup_mysql
     ;;
   3)
+    #redis
     setup_redis
     ;;
   4)
+    #rabbitmq
     setup_rabbitmq
     ;;
   5)
+    #nginx
     setup_nginx
     ;;
   6)
+    setup_font
+    ;;
+  7)
     program_deploy
     ;;
   9)
@@ -560,13 +708,110 @@ function subnum() { #閫夐」
   esac
 }
 
+function mysql_config() { #mysql閰嶇疆
+  while true; do
+    read -p "榛樿$MYSQL_HOST锛岃杈撳叆鏁版嵁搴撹繛鎺p: " ip_address
+    #绌虹櫧杈撳叆锛岄粯璁p
+    if [ "$ip_address" = "" ]; then
+      ip_address=$MYSQL_HOST
+      break
+    fi
+    check_ip $ip_address
+    [ $? -eq 0 ] && break
+  done
+
+  while true; do
+    read -p "榛樿绔彛鍙�$MYSQL_PORT锛岃杈撳叆鏁版嵁搴撹繛鎺ョ鍙�: " port
+    if [ "$port" = "" ]; then
+      port=$MYSQL_PORT
+      break
+    fi
+    if [[ $port -gt 1025 && $port -lt 65534 ]]; then
+      break
+    fi
+  done
+  # read -p "榛樿鐢ㄦ埛$MYSQL_USER锛岃杈撳叆鏁版嵁搴撶敤鎴�: " db_user
 
+  #read -p "榛樿瀵嗙爜$MYSQL_PASSWORD锛岃杈撳叆鏁版嵁搴撳瘑鐮�: " db_password
+
+  #楠岃瘉port
+  MYSQL_HOST=$ip_address
+  MYSQL_PORT=$port
+  #MYSQL_USER=$db_user
+  #MYSQL_PASSWORD=$db_password
+  echo "鏈湴鏁版嵁搴撹繛鎺ュ凡缁忎慨鏀逛负:$MYSQL_HOST  $MYSQL_PORT  $MYSQL_USER $MYSQL_PASSWORD"
+}
+
+function redis_config() { #redis閰嶇疆 闈炴湰鏈篿p 娣诲姞nginx 浠g悊锛屼唬鐞嗙殑ip涓鸿緭鍏ョ殑ip
+  while true; do
+    read -p "榛樿$REDIS_HOST锛岃杈撳叆redis杩炴帴ip: " ip_address
+    if [ "$ip_address" = "" ]; then
+      ip_address=$REDIS_HOST
+      break
+    fi
+    check_ip $ip_address
+    [ $? -eq 0 ] && break
+  done
+
+  while true; do
+    read -p "榛樿绔彛鍙�$REDIS_PORT锛岃杈撳叆redis杩炴帴绔彛: " port
+    if [ "$port" = "" ]; then
+      port=$REDIS_PORT
+      break
+    fi
+    if [[ $port -gt 1025 && $port -lt 65534 ]]; then
+      writelog "杈撳叆鐨勭鍙e彿: $port"
+      break
+    fi
+  done
+  REDIS_HOST=$ip_address
+  REDIS_PORT=$port
+  #read -p "榛樿瀵嗙爜$REDIS_PASSWORD锛岃杈撳叆redis瀵嗙爜: " db_password
+  writelog "鏈湴redis杩炴帴宸茬粡淇敼涓�:$REDIS_HOST  $REDIS_PORT"
+}
+
+function rabbitmq_config() { #rabbitmq閰嶇疆
+
+  while true; do
+    read -p "榛樿$RABBITMQ_IP锛岃杈撳叆rabbitmq杩炴帴ip: " ip_address
+    check_ip $ip_address
+    [ $? -eq 0 ] && break
+  done
+
+  writelog "鏈湴rabbitmq杩炴帴ip宸茬粡淇敼涓�:$RABBITMQ_IP "
+}
+
+function check_ip() {
+  local IP=$1
+  echo $IP
+  VALID_CHECK=$(echo $IP | awk -F. '$1<=255&&$2<=255&&$3<=255&&$4<=255{print "yes"}')
+  if echo $IP | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" >/dev/null; then
+    if [ $VALID_CHECK == "yes" ]; then
+      # echo "IP $IP  available!"
+      return 0
+    else
+      #  echo "IP $IP not available!"
+      return 1
+    fi
+  else
+    #echo "IP format error!"
+    return 1
+  fi
+}
 
 #涓诲嚱鏁�
 main() {
   if [ -f ${LOCK_FILE} ]; then
-    echo "Deploy is running" && exit
+    writelog "Deploy is running" && exit
   fi
+  #鍒ゆ柇鏄惁鍒濆瀹夎锛屽鏋滄槸锛屽垯瑙e帇褰撳墠鏂囦欢鍖呭埌褰撳墠鐩綍涓�
+  if [ ! -d "./soft" ]; then
+    writelog "鏂囦欢澶逛笉瀛樺湪 瑙e帇"
+    tar -xvf ./publish.tar
+  else
+    writelog "鏂囦欢澶瑰瓨鍦�"
+  fi
+
   #鑾峰彇鍙傛暟
   while getopts h:P:u:p opt; do
     case $opt in
@@ -587,7 +832,7 @@ main() {
       MYSQL_PASSWORD=$OPTARG
       ;;
     ?)
-      echo "$opt is an invalid option"
+      writelog "$opt is an invalid option"
       ;;
     esac
   done