diff --git a/inc/status.inc b/inc/status.inc index 2299f417..58fe2946 100755 --- a/inc/status.inc +++ b/inc/status.inc @@ -584,6 +584,8 @@ STATUS_NODE(){ SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}]" "${NM_SERVICE_DESC[${srvc}]} is down" 1 touch ${NM_TMPFOLDER}/${nip}~${srvc}.sent fi + elif [ -f ${NM_TMPFOLDER}/${nip}~${srvc}.disable ]; then + [ "${NMG_ACTION}" != "check" ] && echo -en "${idsCL[Yellow]}Disabled - Skipping" fi else [ "${NMG_ACTION}" != "check" ] && echo -en "${idsCL[LightGreen]}Running" @@ -650,45 +652,49 @@ STATUS_NODE(){ [ "${NMG_ACTION}" != "check" ] && echo -en "${idsCL[White]} ${NM_DOCKER_DESC[${docker}]}$spc${idsCL[Default]}: " if [ ! "$(${NCMD} docker ps -q -f name=${docker})" ]; then - if [ "$(${NCMD} docker ps -a | grep ${docker})" ]; then - ${NCMD} docker start ${docker} >/dev/null 2>&1 - echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not running, starting now" >> ${NM_LOGFILE} - else - ${NCMD} docker compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 - echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} - fi - sleep 10s - if [ "$(${NCMD} docker ps -q -f name=${docker})" ]; then - if [ "${NMG_ACTION}" != "check" ]; then - echo -en "${idsCL[Green]}Running - Fixed" + if [ ! -f ${NM_TMPFOLDER}/${nip}~${docker}.disable ]; then + if [ "$(${NCMD} docker ps -a | grep ${docker})" ]; then + ${NCMD} docker start ${docker} >/dev/null 2>&1 + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not running, starting now" >> ${NM_LOGFILE} + else + ${NCMD} docker compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} fi - SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}]" "${NM_DOCKER_DESC[${docker}]} is fixed" - rm -f ${NM_TMPFOLDER}/${nip}~${docker}.* - echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is fixed" >> ${NM_LOGFILE} - - else - if [ "${NMG_ACTION}" != "check" ]; then - echo -en "${idsCL[Red]}Not Running - Could Not Fix!" - - if [ ! -f ${NM_TMPFOLDER}/${nip}~${docker}.down ]; then - SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}]" "${NM_DOCKER_DESC[${docker}]} is down, could not fix" 1 - touch ${NM_TMPFOLDER}/${nip}~${docker}.down - echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is down, could not fix" >> ${NM_LOGFILE} - else - errtime=$(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}~${docker}.down)) - if [ ${errtime} -gt ${NM_RENOTIFY_TIMEOUT} ]; then - if [ ! -f ${NM_TMPFOLDER}/${nip}~${docker}.errtime ]; then - mv ${NM_TMPFOLDER}/${nip}~${docker}.down ${NM_TMPFOLDER}/${nip}~${docker}.errtime - fi - toterrtime=$(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}~${docker}.errtime)) - if [ "${NMG_ACTION}" != "check" ]; then - echo -e "${idsCL[Red]}Not running for $(SHOW_TIME ${toterrtime})${idsCL[Default]}" - fi - touch ${NM_TMPFOLDER}/${nip}~${docker}.down - fi + sleep 10s + if [ "$(${NCMD} docker ps -q -f name=${docker})" ]; then + if [ "${NMG_ACTION}" != "check" ]; then + echo -en "${idsCL[Green]}Running - Fixed" fi + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}]" "${NM_DOCKER_DESC[${docker}]} is fixed" + rm -f ${NM_TMPFOLDER}/${nip}~${docker}.* + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is fixed" >> ${NM_LOGFILE} + + else + if [ "${NMG_ACTION}" != "check" ]; then + echo -en "${idsCL[Red]}Not Running - Could Not Fix!" + if [ ! -f ${NM_TMPFOLDER}/${nip}~${docker}.down ]; then + SENDNOTICE "${NM_HOSTNAMES[${nip}]}[${nip}]" "${NM_DOCKER_DESC[${docker}]} is down, could not fix" 1 + touch ${NM_TMPFOLDER}/${nip}~${docker}.down + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is down, could not fix" >> ${NM_LOGFILE} + else + errtime=$(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}~${docker}.down)) + if [ ${errtime} -gt ${NM_RENOTIFY_TIMEOUT} ]; then + if [ ! -f ${NM_TMPFOLDER}/${nip}~${docker}.errtime ]; then + mv ${NM_TMPFOLDER}/${nip}~${docker}.down ${NM_TMPFOLDER}/${nip}~${docker}.errtime + fi + toterrtime=$(expr $(date +%s) - $(stat -c %Y ${NM_TMPFOLDER}/${nip}~${docker}.errtime)) + if [ "${NMG_ACTION}" != "check" ]; then + echo -e "${idsCL[Red]}Not running for $(SHOW_TIME ${toterrtime})${idsCL[Default]}" + fi + touch ${NM_TMPFOLDER}/${nip}~${docker}.down + fi + fi + + fi fi + else + echo -en "${idsCL[Yellow]}Disabled - Skipping" fi else if [ "${NMG_ACTION}" != "check" ]; then