From a0e1a856de9a8605d30b294943c8b1a719254733 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 14 Jun 2025 10:22:08 -0500 Subject: [PATCH] Update dsmon.sh --- dsmon.sh | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/dsmon.sh b/dsmon.sh index d18f9e1..cf80ddd 100755 --- a/dsmon.sh +++ b/dsmon.sh @@ -132,7 +132,9 @@ CHECK(){ fi for hostname in "${hostnames_sort[@]}"; do until [ $(ls /tmp/dscheck.*.running 2>/dev/null | wc -l) -lt 6 ]; do tmp=tmp; done - RUN_CHECK ${hostname} > /tmp/dscheck.${hostname}.results 2>/dev/null & + # RUN_CHECK ${hostname} > /tmp/dscheck.${hostname}.results 2>/dev/null & + touch /tmp/dscheck.${hostname}.results + touch /tmp/dscheck.${hostname}.done done [ "${1}" != "report" ] && echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}\n" @@ -144,6 +146,7 @@ CHECK(){ for host in /tmp/dscheck.*.done; do NTS=$(grep -oP '(?<=dscheck\.).*?(?=\.done)' <<< "${host}") if [ -n "$NTS" ]; then + echo "'$host' = '$NTS'" printf "%s\n" "$(cat /tmp/dscheck.${NTS}.results)" rm -f /tmp/dscheck.${NTS}.* >/dev/null 2>&1 ((nc_count++)) @@ -171,8 +174,8 @@ RUN_CHECK(){ touch /tmp/dscheck.${hostname}.running hostid=${host_ids[$hostname]} # if [ "${1}" != "report" ]; then - printf "${idsST[Bold]}\n"; DIVIDER false lightCyan 85 - printf "${idsCL[LightCyan]} ${host_name[$hostid]} - Drive Space Check${idsCL[Default]}\n" + echo -e "${idsST[Bold]}"; DIVIDER false lightCyan 85 + echo -e "${idsCL[LightCyan]} ${host_name[$hostid]} - Drive Space Check${idsCL[Default]}" DIVIDER false lightCyan 85 # fi @@ -243,7 +246,7 @@ RUN_CHECK(){ c=0; cw=10; spcB=''; spc2=`expr ${cw} - 4`; until [ $c = ${spc2} ]; do spcB="${spcB} "; c=`expr $c + 1`; done c=0; cw=10; spcC=''; spc3=`expr ${cw} - 5`; until [ $c = ${spc3} ]; do spcC="${spcC} "; c=`expr $c + 1`; done c=0; cw=14; spcD=''; spc4=`expr ${cw} - 3`; until [ $c = ${spc4} ]; do spcD="${spcD} "; c=`expr $c + 1`; done - printf "${idsST[Reset]}${idsCL[White]} DRIVE${spcA} FREE GB${spcB}FREE %${spcC}TOTAL GB${spcD}WARN % / CRIT %${idsCL[Default]}\n" + echo -e "${idsST[Reset]}${idsCL[White]} DRIVE${spcA} FREE GB${spcB}FREE %${spcC}TOTAL GB${spcD}WARN % / CRIT %${idsCL[Default]}" # pf="%-20s %10s %10s %12s %50s\n" # printf "${pf}" "${idsCL[White]}DRIVE" "FREE GB" "FREE %" "TOTAL GB" "WARN % / CRIT %${idsCL[Default]}" # fi @@ -285,7 +288,7 @@ RUN_CHECK(){ D_WARNING_LEVEL=$(printf "%0.2f" $(jq -n 100-${WARNING_LEVEL})) D_CRITICAL_LEVEL=$(printf "%0.2f" $(jq -n 100-${CRITICAL_LEVEL})) # [ "${1}" != "report" ] && - printf "${idsCL[Cyan]} ${DRIVEINFO_SHORTNAME[$DRIVE]}${spcA}${idsCL[$fs_status_color]}${DRIVEINFO_FREE[$DRIVE]} GB${spcB}${DRIVEINFO_FREEPER[$DRIVE]}%${spcC}${DRIVEINFO_TOT[$DRIVE]} GB${idsST[Reset]}${spcD}${idsCL[Cyan]}( ${idsCL[Yellow]}${D_WARNING_LEVEL}%${idsCL[Cyan]} / ${idsCL[RedBold]}${D_CRITICAL_LEVEL}%${idsST[Reset]}${idsCL[Cyan]} )${idsCL[Default]}\n" + echo -e "${idsCL[Cyan]} ${DRIVEINFO_SHORTNAME[$DRIVE]}${spcA}${idsCL[$fs_status_color]}${DRIVEINFO_FREE[$DRIVE]} GB${spcB}${DRIVEINFO_FREEPER[$DRIVE]}%${spcC}${DRIVEINFO_TOT[$DRIVE]} GB${idsST[Reset]}${spcD}${idsCL[Cyan]}( ${idsCL[Yellow]}${D_WARNING_LEVEL}%${idsCL[Cyan]} / ${idsCL[RedBold]}${D_CRITICAL_LEVEL}%${idsST[Reset]}${idsCL[Cyan]} )${idsCL[Default]}" # [ "${1}" != "report" ] && printf "${pf}" "${idsCL[Cyan]}${DRIVEINFO_SHORTNAME[$DRIVE]}" "${idsCL[$fs_status_color]}${DRIVEINFO_FREE[$DRIVE]} GB" "${DRIVEINFO_FREEPER[$DRIVE]}%" "${DRIVEINFO_TOT[$DRIVE]} GB" "${idsCL[Cyan]}(${idsCL[Default]}${D_WARNING_LEVEL}%${idsCL[Cyan]}/${idsCL[Default]}${D_CRITICAL_LEVEL}%${idsCL[Cyan]})(${idsCL[Yellow]}${D_WARNING_LEVEL}%${idsCL[Cyan]}/${idsCL[Red]}${D_CRITICAL_LEVEL}%${idsCL[Cyan]})${idsCL[Default]}" @@ -312,7 +315,7 @@ RUN_CHECK(){ else # [ "${1}" != "report" ] && - printf "${idsCL[Yellow]} ${host_name[$hostid]} is down${idsCL[Default]}\n"; echo + echo -e "${idsCL[Yellow]} ${host_name[$hostid]} is down${idsCL[Default]}"; echo fi mv /tmp/dscheck.${hostname}.running /tmp/dscheck.${hostname}.done }