diff --git a/acme/acme.sh b/acme/acme.sh index 0966b2f..26e3e01 100755 --- a/acme/acme.sh +++ b/acme/acme.sh @@ -10,28 +10,35 @@ RedBG="\033[41;37m" Font="\033[0m" # fonts color - DOMAIN=$(cat /conf/account.conf | awk -F= '{if($1~"DOMAIN")print $2}') DNSAPI=$(cat /conf/account.conf | awk -F= '{if($1~"DNSAPI")print $2}') -acme (){ - cat /conf/account.conf > /acme.sh/account.conf +acme() { + cat /conf/account.conf >/acme.sh/account.conf /root/.acme.sh/acme.sh --upgrade /root/.acme.sh/acme.sh --register-account -m your@domain.com --server zerossl /root/.acme.sh/acme.sh --issue $* --dns ${DNSAPI} -d ${DOMAIN} -d \*.${DOMAIN} - cp /acme.sh/${DOMAIN}/fullchain.cer /ssl/${DOMAIN}.cer - cp /acme.sh/${DOMAIN}/${DOMAIN}.key /ssl/${DOMAIN}.key - mv /acme.sh/${DOMAIN} /acme.sh/${DOMAIN}-$(date +%Y)-$(date +%m)-$(date +%d)-${RANDOM} rm -rf /acme.sh/ca rm -rf /acme.sh/http.header + if [ -f /acme.sh/${DOMAIN}/fullchain.cer ] && [ -f /acme.sh/${DOMAIN}/${DOMAIN}.key ]; then + rm -rf /ssl/${DOMAIN}.cer + rm -rf /ssl/${DOMAIN}.key + cp /acme.sh/${DOMAIN}/fullchain.cer /ssl/${DOMAIN}.cer + cp /acme.sh/${DOMAIN}/${DOMAIN}.key /ssl/${DOMAIN}.key + mv /acme.sh/${DOMAIN} /acme.sh/${DOMAIN}-$(date +%Y)-$(date +%m)-$(date +%d)-${RANDOM} + else + echo "证书申请失败,已退出脚本,请重新尝试." + rm -rf /acme.sh/${DOMAIN} + exit 1 + fi } -if [ ! -n "${DOMAIN}" ] ; then +if [ ! -n "${DOMAIN}" ]; then echo "请检查 account.conf 信息是否正确" else acme $* fi -cat >/var/spool/cron/crontabs/root</dev/null 2>&1 +cat >/var/spool/cron/crontabs/root </dev/null 2>&1 EOF diff --git a/acme/start.sh b/acme/start.sh index 5da613c..c6d9b21 100755 --- a/acme/start.sh +++ b/acme/start.sh @@ -14,7 +14,7 @@ DOMAIN=$(cat /conf/account.conf | awk -F= '{if($1~"DOMAIN")print $2}') DNSAPI=$(cat /conf/account.conf | awk -F= '{if($1~"DNSAPI")print $2}') cat >/var/spool/cron/crontabs/root</dev/null 2>&1 +0 0 10 * * /conf/acme.sh >/dev/null 2>&1 EOF if [ ! -f "/ssl/${DOMAIN}.cer" ] && [ -n "${DOMAIN}" ]; then