Update dsmon.sh

This commit is contained in:
2025-06-14 10:01:28 -05:00
parent fbe38de6df
commit 6092453008

View File

@@ -92,7 +92,8 @@ CHECK(){
start=`date +%s`
C_CW=40
shopt -s nullglob
declare -A host_ip
declare -A host_name
declare -A host_limits
@@ -121,8 +122,7 @@ CHECK(){
host_ids[$hostname]=$hostid
hostnames_sort+=("$hostname")
fi
done <<< $(MYSQL_PWD="sysmoninsert" ${mysqlcmd} ${mysql_conn} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0")
# done <<< $(MYSQL_PWD="sysmoninsert" ${mysqlcmd} ${mysql_conn} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0 AND host LIKE '%WAN%'")
done <<< $(MYSQL_PWD="sysmoninsert" ${mysqlcmd} ${mysql_conn} -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0")
IFS=$'\n' hostnames_sort=($(sort <<<"${hostnames_sort[*]}")); unset IFS
[ "${1}" != "report" ] && echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}"
@@ -131,7 +131,6 @@ CHECK(){
c=0; cw=${C_CW}; spc=''; spc1=$(expr ${cw} - ${#MSG}); until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en "${idsCL[LightCyan]}${MSG}${spc}: "
fi
#for hostid in "${!host_ip[@]}"; do
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 &
@@ -141,18 +140,15 @@ CHECK(){
done
[ "${1}" != "report" ] && echo -e "${idsCL[LightGreen]}Done${idsCL[Default]}\n"
shopt -s nullglob
nc_count=0; completed=false; scanstart=$(date +%s)
until [ "${completed}" == "true" ]; do
until [ $(ls /tmp/dscheck.*.done 2>/dev/null | wc -l) -gt 0 ]; do tmp=tmp; done
for host in /tmp/dscheck.*.done; do
# NTS=$(grep -oP '(?<=dscheck\.).*?(?=\.done)' <<< "${host}")
echo "1:'$host'"
NTS=$(grep -oP '(?<=dscheck\.).*?(?=\.done)' <<< "${host}")
if [ -n "$NTS" ]; then
# echo -e "$(cat /tmp/dscheck.${NTS}.results)"
# rm -f /tmp/dscheck.${NTS}.* >/dev/null 2>&1
echo -e "$(cat /tmp/dscheck.${NTS}.results)"
rm -f /tmp/dscheck.${NTS}.* >/dev/null 2>&1
((nc_count++))
echo "2:'$NTS' = ${nc_count}"
fi
done
if [ $(($(date +%s)-scanstart)) -gt 300 ]; then
@@ -166,7 +162,6 @@ CHECK(){
break
fi
sleep 1s
echo "---------------------"
done
end=`date +%s`; runtime=$((end-start)); echo -e "\nScript Runtime: ${runtime}"