Browse Source

reload only for renewal

neilpang 8 years ago
parent
commit
ddf293bbcd
1 changed files with 44 additions and 31 deletions
  1. 44 31
      deploy/vsftpd.sh

+ 44 - 31
deploy/vsftpd.sh

@@ -29,28 +29,6 @@ vsftpd_deploy() {
     return 1
     return 1
   fi
   fi
 
 
-  DEFAULT_VSFTPD_CONF="/etc/vsftpd.conf"
-  _vsftpd_conf="${DEPLOY_VSFTPD_CONF:-$DEFAULT_VSFTPD_CONF}"
-
-  if [ ! -f "$_vsftpd_conf" ]; then
-    if [ -z "$DEPLOY_VSFTPD_CONF" ]; then
-      _err "vsftpd conf is not found, please define DEPLOY_VSFTPD_CONF"
-      return 1
-    else
-      _err "It seems that the specified vsftpd conf is not valid, please check."
-      return 1
-    fi
-  fi
-
-  if [ ! -w "$_vsftpd_conf" ]; then
-    _err "The file $_vsftpd_conf is not writable, please change the permission."
-    return 1
-  fi
-
-  _backup_conf="$DOMAIN_BACKUP_PATH/vsftpd.conf.bak"
-  _info "Backup $_vsftpd_conf to $_backup_conf"
-  cp "$_vsftpd_conf" "$_backup_conf"
-
   _info "Copying key and cert"
   _info "Copying key and cert"
   _real_key="$_ssl_path/vsftpd.key"
   _real_key="$_ssl_path/vsftpd.key"
   if ! cat "$_ckey" >"$_real_key"; then
   if ! cat "$_ckey" >"$_real_key"; then
@@ -62,15 +40,51 @@ vsftpd_deploy() {
     _err "Error: write key file to: $_real_fullchain"
     _err "Error: write key file to: $_real_fullchain"
     return 1
     return 1
   fi
   fi
-  _info "Modify vsftpd conf: $_vsftpd_conf"
 
 
   DEFAULT_VSFTPD_RELOAD="service vsftpd restart"
   DEFAULT_VSFTPD_RELOAD="service vsftpd restart"
   _reload="${DEPLOY_VSFTPD_RELOAD:-$DEFAULT_VSFTPD_RELOAD}"
   _reload="${DEPLOY_VSFTPD_RELOAD:-$DEFAULT_VSFTPD_RELOAD}"
-  if _setopt "$_vsftpd_conf" "rsa_cert_file" "=" "$_real_fullchain" \
-    && _setopt "$_vsftpd_conf" "rsa_private_key_file" "=" "$_real_key" \
-    && _setopt "$_vsftpd_conf" "ssl_enable" "=" "YES" \
-    && eval "$_reload"; then
-    _info "Deploy success!"
+
+  if [ -z "$IS_RENEW" ]; then
+    DEFAULT_VSFTPD_CONF="/etc/vsftpd.conf"
+    _vsftpd_conf="${DEPLOY_VSFTPD_CONF:-$DEFAULT_VSFTPD_CONF}"
+    if [ ! -f "$_vsftpd_conf" ]; then
+      if [ -z "$DEPLOY_VSFTPD_CONF" ]; then
+        _err "vsftpd conf is not found, please define DEPLOY_VSFTPD_CONF"
+        return 1
+      else
+        _err "It seems that the specified vsftpd conf is not valid, please check."
+        return 1
+      fi
+    fi
+    if [ ! -w "$_vsftpd_conf" ]; then
+      _err "The file $_vsftpd_conf is not writable, please change the permission."
+      return 1
+    fi
+    _backup_conf="$DOMAIN_BACKUP_PATH/vsftpd.conf.bak"
+    _info "Backup $_vsftpd_conf to $_backup_conf"
+    cp "$_vsftpd_conf" "$_backup_conf"
+
+    _info "Modify vsftpd conf: $_vsftpd_conf"
+    if _setopt "$_vsftpd_conf" "rsa_cert_file" "=" "$_real_fullchain" \
+      && _setopt "$_vsftpd_conf" "rsa_private_key_file" "=" "$_real_key" \
+      && _setopt "$_vsftpd_conf" "ssl_enable" "=" "YES"; then
+      _info "Set config success!"
+    else
+      _err "Config vsftpd server error, please report bug to us."
+      _info "Restoring vsftpd conf"
+      if cat "$_backup_conf" >"$_vsftpd_conf"; then
+        _info "Restore conf success"
+        eval "$_reload"
+      else
+        _err "Opps, error restore vsftpd conf, please report bug to us."
+      fi
+      return 1
+    fi
+  fi
+
+  _info "Run reload: $_reload"
+  if eval "$_reload"; then
+    _info "Reload success!"
     if [ "$DEPLOY_VSFTPD_CONF" ]; then
     if [ "$DEPLOY_VSFTPD_CONF" ]; then
       _savedomainconf DEPLOY_VSFTPD_CONF "$DEPLOY_VSFTPD_CONF"
       _savedomainconf DEPLOY_VSFTPD_CONF "$DEPLOY_VSFTPD_CONF"
     else
     else
@@ -83,8 +97,7 @@ vsftpd_deploy() {
     fi
     fi
     return 0
     return 0
   else
   else
-    _err "Config vsftpd server error, please report bug to us."
-    _info "Restoring vsftpd conf"
+    _err "Reload error, restoring"
     if cat "$_backup_conf" >"$_vsftpd_conf"; then
     if cat "$_backup_conf" >"$_vsftpd_conf"; then
       _info "Restore conf success"
       _info "Restore conf success"
       eval "$_reload"
       eval "$_reload"
@@ -93,5 +106,5 @@ vsftpd_deploy() {
     fi
     fi
     return 1
     return 1
   fi
   fi
-  return 1
+  return 0
 }
 }