Update dsmon.sh

This commit is contained in:
2023-07-04 19:36:57 -05:00
parent 608d564558
commit 6aec610157

View File

@@ -287,6 +287,33 @@ RUNCMD(){
done
}
GETCRONTABS(){
ssh root@10.10.1.51 crontab -l | ssh -tq root@10.10.10.50 'cat > /opt/idssys/nodemgmt/crontabs/`hostname`.crontab'
declare -A host_ip
declare -A host_name
while read hostid hostname hostip hostlimits; do
if [ "$hostid" != "id" ]; then
host_ip[${hostid}]=$(echo $hostip | cut -d ";" -f1)
host_name[${hostid}]=$hostname
fi
done <<< $(MYSQL_PWD="sysmoninsert" mysql -h mysqldb.scity.us -P 3306 -u sysmoninsert -e "SELECT id,host,ip,limits FROM servermonitor.hosts WHERE disabled=0 ORDER BY host ASC")
for hostid in "${!host_ip[@]}"; do
checkhost=$(CHECK_HOST ${host_ip[$hostid]})
if [ "${checkhost}" != "false" ]; then
if ! root@${host_ip[$hostid]} command -v sshpass > /dev/null; then
ssh -tq root@${host_ip[$hostid]} apt install -yq sshpass > /dev/null 2>&1
fi
echo -e "${idsST[Bold]}${idsCL[LightCyan]} ${host_name[$hostid]} - Gathering crontabs${idsCL[Default]}${idsST[Reset]}"
ssh -tq root@${host_ip[$hostid]} crontab -l | ssh -tq root@10.10.10.50 'cat > /opt/idssys/nodemgmt/crontabs/`hostname`.crontab'
else
echo -e "${idsST[Bold]}${idsCL[Red]} ${host_name[$hostid]} - Timeout${idsCL[Default]}${idsST[Reset]}"
fi
done
}
SENDNOTICE(){
[ "${PUSHOVER_APP_TOKEN}" != "" ] && PUSH_TO_MOBILE "${2}
@@ -299,6 +326,7 @@ $(date)" "${1}" ${3} &
case $action in
check) CHECK ${2};;
setupssh) SETUPSSH;;
get-crontabs) GETCRONTABS;;
run) RUN ${2};;
runcmd) RUNCMD ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9} ${10} ${11};;
update);;