Update nodemgmt-scripts.sh
This commit is contained in:
@@ -716,6 +716,81 @@ LISTCERTS(){
|
||||
echo ""
|
||||
}
|
||||
|
||||
LISTCERTS_NPM(){
|
||||
declare -i cw; declare -i spc1; declare -i c
|
||||
declare -A CHECKCERT_DOMAINS
|
||||
IFS=$'\n'
|
||||
for LINE in `egrep -v '(^#|^$)' ${FOLDER}/ssl-cert-check/ssldomains`; do
|
||||
HOST=${LINE%% *}
|
||||
PORT=${LINE#* }
|
||||
IFS=" "
|
||||
CHECKCERT_DOMAINS[${HOST}]=${PORT}
|
||||
done
|
||||
unset IFS
|
||||
if [ ! -z ${LOCAL_SERVICES+x} ]; then
|
||||
NCMD="ssh root@${MYSQL_HOSTS[0]}"
|
||||
${NCMD} rm -f /tmp/ssllist
|
||||
${NCMD} 'for certdir in /opt/nginx-proxy/letsencrypt/live/*/ ; do echo $certdir; done' > /tmp/ssllist
|
||||
else
|
||||
NCMD=''
|
||||
rm -f /tmp/ssllist
|
||||
for certdir in /opt/nginx-proxy/letsencrypt/live/*/ ; do echo $certdir; done > /tmp/ssllist
|
||||
fi
|
||||
if [ -z $action ] || [ "${action}" = "gui" ]; then
|
||||
DIVIDER true
|
||||
fi
|
||||
echo
|
||||
echo -e "${idsCL[LightGreen]}Current Certificates on Node...${idsCL[Default]}"
|
||||
DIVIDER false yellow 120
|
||||
echo -e "Subject Name Monitored Expires Alternate Subject Names"
|
||||
DIVIDER false yellow 120
|
||||
|
||||
cw=30;
|
||||
c=0; spc2=''; until [ $c = ${cw} ]; do spc2="${spc2} "; c=`expr $c + 1`; done
|
||||
for certdir in $(</tmp/ssllist); do
|
||||
SUBJECT=$(${NCMD} openssl x509 -in ${certdir}cert.pem -noout -subject|grep -oP '(?<=CN = )[^,]+'|sort -uV)
|
||||
SUBJECTNAMES=$(${NCMD} openssl x509 -in ${certdir}cert.pem -noout -text|grep -oP '(?<=DNS:|IP Address:)[^,]+'|sort -uV)
|
||||
CERTEXPIRE=$(date -d "$(: | ${NCMD} openssl x509 -in ${certdir}cert.pem -text | grep 'Not After' |awk '{print $4,$5,$7}')" '+%s');
|
||||
|
||||
SUBJECTNAMES=${SUBJECTNAMES//$'\n'/, }
|
||||
# SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/\n/, /g")
|
||||
SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/${SUBJECT}, //g")
|
||||
SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/, ${SUBJECT}//g")
|
||||
SUBJECTNAMES=$(echo $SUBJECTNAMES | sed "s/${SUBJECT}//g")
|
||||
IFS=', '; SUBJECT_NAMES=(${SUBJECTNAMES}); unset IFS
|
||||
DAYS=14; DUEIN=$(($(date +%s) + (86400*$DAYS)));
|
||||
|
||||
c=0; spc=''
|
||||
spc1=${cw}-${#SUBJECT}
|
||||
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||
if [ $DUEIN -gt $CERTEXPIRE ]; then
|
||||
date="${idsST[Bold]}${idsCL[Red]}$(date -d @${CERTEXPIRE} '+%m-%d-%Y')${idsST[Reset]}${idsCL[Default]}"
|
||||
else
|
||||
date="${idsCL[Green]}$(date -d @${CERTEXPIRE} '+%m-%d-%Y')${idsCL[Default]}"
|
||||
fi
|
||||
|
||||
if [ "${CHECKCERT_DOMAINS[${SUBJECT}]}" = "" ]; then
|
||||
monitored='No '
|
||||
else
|
||||
monitored="${idsCL[Green]}Yes${idsCL[Default]}"
|
||||
fi
|
||||
if [ ${#SUBJECT_NAMES[@]} -lt 4 ]; then
|
||||
echo -e "${idsCL[Cyan]}${SUBJECT}${idsCL[Default]}${spc}${monitored} ${date} ${SUBJECTNAMES}"
|
||||
elif [ ${#SUBJECT_NAMES[@]} -lt 7 ]; then
|
||||
echo -e "${idsCL[Cyan]}${SUBJECT}${idsCL[Default]}${spc}${monitored} ${date} ${SUBJECT_NAMES[0]}, ${SUBJECT_NAMES[1]}, ${SUBJECT_NAMES[2]}"
|
||||
echo -e "${spc2} ${SUBJECT_NAMES[3]}, ${SUBJECT_NAMES[4]}, ${SUBJECT_NAMES[5]}"
|
||||
|
||||
fi
|
||||
DIVIDER false darkGray 120
|
||||
done
|
||||
echo
|
||||
if [ -z $action ] || [ "${action}" = "gui" ]; then
|
||||
DIVIDER true
|
||||
ENTER2CONTINUE
|
||||
fi
|
||||
echo ""
|
||||
}
|
||||
|
||||
CHECK-CERTS(){
|
||||
if [ "${1}" = "check" ]; then
|
||||
rm -f ${FOLDER}/ssl-cert-check.lastrun
|
||||
@@ -2049,6 +2124,7 @@ if [ ${action-x} ]; then
|
||||
certrenew) CERTRENEW;;
|
||||
delssl) DEL-SSL ${2};;
|
||||
listcerts) LISTCERTS;;
|
||||
listcerts-npm) LISTCERTS_NPM;;
|
||||
checkcerts) CHECK-CERTS ${2};;
|
||||
nightlyrenew) NIGHTLYRENEW;;
|
||||
delsite) DELSITE ${2} ${3} ${4} ${5};;
|
||||
|
||||
Reference in New Issue
Block a user