|
@ -2450,7 +2450,7 @@ _initpath() { |
|
|
. "$ACCOUNT_CONF_PATH" |
|
|
. "$ACCOUNT_CONF_PATH" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" ]; then |
|
|
|
|
|
|
|
|
if [ "$ACME_IN_CRON" ]; then |
|
|
if [ ! "$_USER_PATH_EXPORTED" ]; then |
|
|
if [ ! "$_USER_PATH_EXPORTED" ]; then |
|
|
_USER_PATH_EXPORTED=1 |
|
|
_USER_PATH_EXPORTED=1 |
|
|
export PATH="$USER_PATH:$PATH" |
|
|
export PATH="$USER_PATH:$PATH" |
|
@ -3216,14 +3216,6 @@ _on_issue_err() { |
|
|
_err "See: $_DEBUG_WIKI" |
|
|
_err "See: $_DEBUG_WIKI" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_ERROR ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $_main_domain error" "There is an error." "$NOTIFY_HOOK" 1 |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
#run the post hook |
|
|
#run the post hook |
|
|
if [ "$_chk_post_hook" ]; then |
|
|
if [ "$_chk_post_hook" ]; then |
|
|
_info "Run post hook:'$_chk_post_hook'" |
|
|
_info "Run post hook:'$_chk_post_hook'" |
|
@ -3266,13 +3258,7 @@ _on_issue_success() { |
|
|
_chk_post_hook="$1" |
|
|
_chk_post_hook="$1" |
|
|
_chk_renew_hook="$2" |
|
|
_chk_renew_hook="$2" |
|
|
_debug _on_issue_success |
|
|
_debug _on_issue_success |
|
|
if [ "$IN_CRON" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_RENEW ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $_main_domain success" "Good, the cert is renewed." "$NOTIFY_HOOK" 0 |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
#run the post hook |
|
|
#run the post hook |
|
|
if [ "$_chk_post_hook" ]; then |
|
|
if [ "$_chk_post_hook" ]; then |
|
|
_info "Run post hook:'$_chk_post_hook'" |
|
|
_info "Run post hook:'$_chk_post_hook'" |
|
@ -4506,7 +4492,7 @@ $_authorizations_map" |
|
|
_info "Your cert key is in $(__green " $CERT_KEY_PATH ")" |
|
|
_info "Your cert key is in $(__green " $CERT_KEY_PATH ")" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
if [ ! "$USER_PATH" ] || [ ! "$IN_CRON" ]; then |
|
|
|
|
|
|
|
|
if [ ! "$USER_PATH" ] || [ ! "$ACME_IN_CRON" ]; then |
|
|
USER_PATH="$PATH" |
|
|
USER_PATH="$PATH" |
|
|
_saveaccountconf "USER_PATH" "$USER_PATH" |
|
|
_saveaccountconf "USER_PATH" "$USER_PATH" |
|
|
fi |
|
|
fi |
|
@ -4686,19 +4672,10 @@ renew() { |
|
|
if [ -z "$FORCE" ] && [ "$Le_NextRenewTime" ] && [ "$(_time)" -lt "$Le_NextRenewTime" ]; then |
|
|
if [ -z "$FORCE" ] && [ "$Le_NextRenewTime" ] && [ "$(_time)" -lt "$Le_NextRenewTime" ]; then |
|
|
_info "Skip, Next renewal time is: $(__green "$Le_NextRenewTimeStr")" |
|
|
_info "Skip, Next renewal time is: $(__green "$Le_NextRenewTimeStr")" |
|
|
_info "Add '$(__red '--force')' to force to renew." |
|
|
_info "Add '$(__red '--force')' to force to renew." |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" = "1" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_SKIP ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $Le_Domain skipped" "Good, the cert next renewal time is $Le_NextRenewTimeStr." "$NOTIFY_HOOK" "$RENEW_SKIP" |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
return "$RENEW_SKIP" |
|
|
return "$RENEW_SKIP" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" = "1" ] && [ -z "$Le_CertCreateTime" ]; then |
|
|
|
|
|
|
|
|
if [ "$ACME_IN_CRON" = "1" ] && [ -z "$Le_CertCreateTime" ]; then |
|
|
_info "Skip invalid cert for: $Le_Domain" |
|
|
_info "Skip invalid cert for: $Le_Domain" |
|
|
return $RENEW_SKIP |
|
|
return $RENEW_SKIP |
|
|
fi |
|
|
fi |
|
@ -4733,6 +4710,8 @@ renewAll() { |
|
|
_success_msg="" |
|
|
_success_msg="" |
|
|
_error_msg="" |
|
|
_error_msg="" |
|
|
_skipped_msg="" |
|
|
_skipped_msg="" |
|
|
|
|
|
_error_level=$NOTIFY_LEVEL_SKIP |
|
|
|
|
|
_notify_code=$RENEW_SKIP |
|
|
for di in "${CERT_HOME}"/*.*/; do |
|
|
for di in "${CERT_HOME}"/*.*/; do |
|
|
_debug di "$di" |
|
|
_debug di "$di" |
|
|
if ! [ -d "$di" ]; then |
|
|
if ! [ -d "$di" ]; then |
|
@ -4750,49 +4729,83 @@ renewAll() { |
|
|
) |
|
|
) |
|
|
rc="$?" |
|
|
rc="$?" |
|
|
_debug "Return code: $rc" |
|
|
_debug "Return code: $rc" |
|
|
if [ "$rc" != "0" ]; then |
|
|
|
|
|
if [ "$rc" = "$RENEW_SKIP" ]; then |
|
|
|
|
|
_info "Skipped $d" |
|
|
|
|
|
_skipped_msg="${_skipped_msg} $d |
|
|
|
|
|
" |
|
|
|
|
|
else |
|
|
|
|
|
_error_msg="${_error_msg} $d |
|
|
|
|
|
|
|
|
if [ "$rc" = "0" ]; then |
|
|
|
|
|
if [ $_error_level -gt $NOTIFY_LEVEL_RENEW ]; then |
|
|
|
|
|
_error_level="$NOTIFY_LEVEL_RENEW" |
|
|
|
|
|
_notify_code=0 |
|
|
|
|
|
fi |
|
|
|
|
|
if [ "$ACME_IN_CRON" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_RENEW ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $d success" "Good, the cert is renewed." "$NOTIFY_HOOK" 0 |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
_success_msg="${_success_msg} $d |
|
|
" |
|
|
" |
|
|
if [ "$_stopRenewOnError" ]; then |
|
|
|
|
|
_err "Error renew $d, stop now." |
|
|
|
|
|
_ret="$rc" |
|
|
|
|
|
break |
|
|
|
|
|
else |
|
|
|
|
|
_ret="$rc" |
|
|
|
|
|
_err "Error renew $d." |
|
|
|
|
|
|
|
|
elif [ "$rc" = "$RENEW_SKIP" ]; then |
|
|
|
|
|
if [ $_error_level -gt $NOTIFY_LEVEL_SKIP ]; then |
|
|
|
|
|
_error_level="$NOTIFY_LEVEL_SKIP" |
|
|
|
|
|
_notify_code=$RENEW_SKIP |
|
|
|
|
|
fi |
|
|
|
|
|
if [ "$ACME_IN_CRON" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_SKIP ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $d skipped" "Good, the cert is skipped." "$NOTIFY_HOOK" "$RENEW_SKIP" |
|
|
|
|
|
fi |
|
|
fi |
|
|
fi |
|
|
fi |
|
|
fi |
|
|
|
|
|
_info "Skipped $d" |
|
|
|
|
|
_skipped_msg="${_skipped_msg} $d |
|
|
|
|
|
" |
|
|
else |
|
|
else |
|
|
_success_msg="${_success_msg} $d |
|
|
|
|
|
|
|
|
if [ $_error_level -gt $NOTIFY_LEVEL_ERROR ]; then |
|
|
|
|
|
_error_level="$NOTIFY_LEVEL_ERROR" |
|
|
|
|
|
_notify_code=1 |
|
|
|
|
|
fi |
|
|
|
|
|
if [ "$ACME_IN_CRON" ]; then |
|
|
|
|
|
if [ "$NOTIFY_LEVEL" ] && [ $NOTIFY_LEVEL -ge $NOTIFY_LEVEL_ERROR ]; then |
|
|
|
|
|
if [ "$NOTIFY_MODE" = "$NOTIFY_MODE_CERT" ]; then |
|
|
|
|
|
_send_notify "Renew $d error" "There is an error." "$NOTIFY_HOOK" 1 |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
_error_msg="${_error_msg} $d |
|
|
" |
|
|
" |
|
|
|
|
|
if [ "$_stopRenewOnError" ]; then |
|
|
|
|
|
_err "Error renew $d, stop now." |
|
|
|
|
|
_ret="$rc" |
|
|
|
|
|
break |
|
|
|
|
|
else |
|
|
|
|
|
_ret="$rc" |
|
|
|
|
|
_err "Error renew $d." |
|
|
|
|
|
fi |
|
|
fi |
|
|
fi |
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" = "1" ]; then |
|
|
|
|
|
|
|
|
_debug _error_level "$_error_level" |
|
|
|
|
|
if [ "$ACME_IN_CRON" ] && [ $_error_level -le $NOTIFY_LEVEL ]; then |
|
|
if [ -z "$NOTIFY_MODE" ] || [ "$NOTIFY_MODE" = "$NOTIFY_MODE_BULK" ]; then |
|
|
if [ -z "$NOTIFY_MODE" ] || [ "$NOTIFY_MODE" = "$NOTIFY_MODE_BULK" ]; then |
|
|
_msg_subject="Renew" |
|
|
_msg_subject="Renew" |
|
|
if [ "$_error_msg" ]; then |
|
|
if [ "$_error_msg" ]; then |
|
|
_msg_subject="${_msg_subject} Error" |
|
|
_msg_subject="${_msg_subject} Error" |
|
|
|
|
|
_msg_data="Error certs: |
|
|
|
|
|
${_error_msg} |
|
|
|
|
|
" |
|
|
fi |
|
|
fi |
|
|
if [ "$_success_msg" ]; then |
|
|
if [ "$_success_msg" ]; then |
|
|
_msg_subject="${_msg_subject} Success" |
|
|
_msg_subject="${_msg_subject} Success" |
|
|
|
|
|
_msg_data="${_msg_data}Success certs: |
|
|
|
|
|
${_success_msg} |
|
|
|
|
|
" |
|
|
fi |
|
|
fi |
|
|
if [ "$_skipped_msg" ]; then |
|
|
if [ "$_skipped_msg" ]; then |
|
|
_msg_subject="${_msg_subject} Skipped" |
|
|
_msg_subject="${_msg_subject} Skipped" |
|
|
fi |
|
|
|
|
|
_msg_data="Error certs: |
|
|
|
|
|
${_error_msg} |
|
|
|
|
|
Success certs: |
|
|
|
|
|
${_success_msg} |
|
|
|
|
|
Skipped certs: |
|
|
|
|
|
$_skipped_msg |
|
|
|
|
|
|
|
|
_msg_data="${_msg_data}Skipped certs: |
|
|
|
|
|
${_skipped_msg} |
|
|
" |
|
|
" |
|
|
_send_notify "$_msg_subject" "$_msg_data" "$NOTIFY_HOOK" 0 |
|
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
_send_notify "$_msg_subject" "$_msg_data" "$NOTIFY_HOOK" "$_notify_code" |
|
|
fi |
|
|
fi |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
@ -5708,7 +5721,7 @@ install() { |
|
|
_debug "Skip install cron job" |
|
|
_debug "Skip install cron job" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" != "1" ]; then |
|
|
|
|
|
|
|
|
if [ "$ACME_IN_CRON" != "1" ]; then |
|
|
if ! _precheck "$_nocron"; then |
|
|
if ! _precheck "$_nocron"; then |
|
|
_err "Pre-check failed, can not install." |
|
|
_err "Pre-check failed, can not install." |
|
|
return 1 |
|
|
return 1 |
|
@ -5765,7 +5778,7 @@ install() { |
|
|
|
|
|
|
|
|
_info "Installed to $LE_WORKING_DIR/$PROJECT_ENTRY" |
|
|
_info "Installed to $LE_WORKING_DIR/$PROJECT_ENTRY" |
|
|
|
|
|
|
|
|
if [ "$IN_CRON" != "1" ] && [ -z "$_noprofile" ]; then |
|
|
|
|
|
|
|
|
if [ "$ACME_IN_CRON" != "1" ] && [ -z "$_noprofile" ]; then |
|
|
_installalias "$_c_home" |
|
|
_installalias "$_c_home" |
|
|
fi |
|
|
fi |
|
|
|
|
|
|
|
@ -5863,7 +5876,7 @@ _uninstallalias() { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
cron() { |
|
|
cron() { |
|
|
export IN_CRON=1 |
|
|
|
|
|
|
|
|
export ACME_IN_CRON=1 |
|
|
_initpath |
|
|
_initpath |
|
|
_info "$(__green "===Starting cron===")" |
|
|
_info "$(__green "===Starting cron===")" |
|
|
if [ "$AUTO_UPGRADE" = "1" ]; then |
|
|
if [ "$AUTO_UPGRADE" = "1" ]; then |
|
@ -5884,7 +5897,7 @@ cron() { |
|
|
fi |
|
|
fi |
|
|
renewAll |
|
|
renewAll |
|
|
_ret="$?" |
|
|
_ret="$?" |
|
|
IN_CRON="" |
|
|
|
|
|
|
|
|
ACME_IN_CRON="" |
|
|
_info "$(__green "===End cron===")" |
|
|
_info "$(__green "===End cron===")" |
|
|
exit $_ret |
|
|
exit $_ret |
|
|
} |
|
|
} |
|
@ -6106,11 +6119,11 @@ Parameters: |
|
|
|
|
|
|
|
|
--notify-level 0|1|2|3 Set the notification level: Default value is $NOTIFY_LEVEL_DEFAULT. |
|
|
--notify-level 0|1|2|3 Set the notification level: Default value is $NOTIFY_LEVEL_DEFAULT. |
|
|
0: disabled, no notification will be sent. |
|
|
0: disabled, no notification will be sent. |
|
|
1: send notification only when there is an error. |
|
|
|
|
|
2: send notification when a cert is successfully renewed, or there is an error |
|
|
|
|
|
3: send notification when a cert is skipped, renewdd, or error |
|
|
|
|
|
|
|
|
1: send notifications only when there is an error. |
|
|
|
|
|
2: send notifications when a cert is successfully renewed, or there is an error. |
|
|
|
|
|
3: send notifications when a cert is skipped, renewed, or error. |
|
|
--notify-mode 0|1 Set notification mode. Default value is $NOTIFY_MODE_DEFAULT. |
|
|
--notify-mode 0|1 Set notification mode. Default value is $NOTIFY_MODE_DEFAULT. |
|
|
0: Bulk mode. Send all the domain's notifications in one message(mail) |
|
|
|
|
|
|
|
|
0: Bulk mode. Send all the domain's notifications in one message(mail). |
|
|
1: Cert mode. Send a message for every single cert. |
|
|
1: Cert mode. Send a message for every single cert. |
|
|
--notify-hook [hookname] Set the notify hook |
|
|
--notify-hook [hookname] Set the notify hook |
|
|
|
|
|
|
|
|