This commit is contained in:
2023-12-06 09:52:24 -06:00
parent 69a35755c4
commit 6f548c2dcf
4 changed files with 374 additions and 1187 deletions

View File

@@ -864,110 +864,34 @@ GUI(){
dl)
DOWNLIST ${2}
;;
statusnew)
if [ "${2}" == "freespace" ]; then
STATUSNEW freespace ${3}
else
if [ -f "${NM_TMPFOLDER}/status-check.running" ] && [ $(expr `date +%s` - $(stat -c %Y ${NM_TMPFOLDER}/status-check.running)) -gt 1800 ]; then
# if [ -f "${NM_TMPFOLDER}/status-check.running" ]; then
SENDNOTICE "Nodemgmt Script Error" "Status monitoring stuck, system resetting... fix yo shit"
mv -f ${NM_TMPFOLDER}/status-check.running ${NM_TMPFOLDER}/status-check.running.crash
getStuckNM=$(pgrep -f '/nodemgmt')
for i in $getStuckNM; do
[ "$BASHPID" != "$i" ] && /bin/kill -9 $i
done
fi
if [ ! -f "${NM_TMPFOLDER}/status-check.running" ]; then
touch "${NM_TMPFOLDER}/status-check.running"
if [ "${2}" == "report" ]; then
# start_status=`date +%s`
echo "$(date +%Y-%m-%d-%H-%M-%S) - LOCAL - ${NODE_HOSTNAME} - Starting Status Check" >> ${NM_LOGFILE}
echo -e "$(date +%Y-%m-%d-%H-%M-%S) - Starting status check #############################\n" > ${NM_TMPFOLDER}/status-check.running
STATUSNEW report ${3} >> ${NM_TMPFOLDER}/status-check.running
echo -e "\n\n$(date) - Finished status check #############################\n" >> ${NM_TMPFOLDER}/status-check.running
echo "$(date +%Y-%m-%d-%H-%M-%S) - LOCAL - ${NODE_HOSTNAME} - Completed Status Check" >> ${NM_LOGFILE}
rm -f ${NM_LOGFOLDER}/status-check.new.lastrun
mv ${NM_TMPFOLDER}/status-check.running ${NM_LOGFOLDER}/status-check.new.lastrun
# end_status=`date +%s`
# runtime_status=$((end_status-start_status))
# echo -e "\nRuntime: ${runtime_status}" >> ${NM_LOGFOLDER}/status-check.lastrun
if [ "${3}" == "email" ]; then
echo -e "\n\n" >> ${NM_LOGFOLDER}/status-check.new.lastrun
DOWNLIST report >> ${NM_LOGFOLDER}/status-check.new.lastrun
STATUSLOG="$(cat ${NM_LOGFOLDER}/status-check.new.lastrun)"
SENDNOTICE "Status Report" "Status Report\n${STATUSLOG}"
fi
else
STATUSNEW ${2} ${3}
rm -f ${NM_TMPFOLDER}/status-check.running
fi
else
# echo -e "${idsCL[LightYellow]}Status check already running, please wait and try again${idsCL[Default]}"
echo -e "${idsCL[LightYellow]}Status checks are already running${idsCL[Default]}"
echo -en "${idsCL[LightCyan]}View the (L)ive log, or the (P)revious run log instead? ${idsCL[Default]}"
read -n1 choice
case $choice in
[Ll]) watch -n1 tail -n35 ${NM_TMPFOLDER}/status-check.running; echo;;
[Pp]) echo; cat ${NM_LOGFOLDER}/status-check.new.lastrun;;
esac
echo
fi
fi;;
status)
if [ "${2}" == "freespace" ]; then
STATUS freespace ${3}
else
if [ -f "${NM_TMPFOLDER}/status-check.running" ] && [ $(expr `date +%s` - $(stat -c %Y ${NM_TMPFOLDER}/status-check.running)) -gt 1800 ]; then
# if [ -f "${NM_TMPFOLDER}/status-check.running" ]; then
SENDNOTICE "Nodemgmt Script Error" "Status monitoring stuck, system resetting... fix yo shit"
mv -f ${NM_TMPFOLDER}/status-check.running ${NM_TMPFOLDER}/status-check.running.crash
getStuckNM=$(pgrep -f '/nodemgmt')
for i in $getStuckNM; do
[ "$BASHPID" != "$i" ] && /bin/kill -9 $i
done
fi
if [ ! -f "${NM_TMPFOLDER}/status-check.running" ]; then
touch "${NM_TMPFOLDER}/status-check.running"
if [ "${2}" == "report" ]; then
# start_status=`date +%s`
echo "$(date +%Y-%m-%d-%H-%M-%S) - LOCAL - ${NODE_HOSTNAME} - Starting Status Check" >> ${NM_LOGFILE}
echo -e "$(date +%Y-%m-%d-%H-%M-%S) - Starting status check #############################\n" > ${NM_TMPFOLDER}/status-check.running
STATUS report ${3} >> ${NM_TMPFOLDER}/status-check.running
echo -e "\n\n$(date) - Finished status check #############################\n" >> ${NM_TMPFOLDER}/status-check.running
echo "$(date +%Y-%m-%d-%H-%M-%S) - LOCAL - ${NODE_HOSTNAME} - Completed Status Check" >> ${NM_LOGFILE}
rm -f ${NM_LOGFOLDER}/status-check.lastrun
mv ${NM_TMPFOLDER}/status-check.running ${NM_LOGFOLDER}/status-check.lastrun
# end_status=`date +%s`
# runtime_status=$((end_status-start_status))
# echo -e "\nRuntime: ${runtime_status}" >> ${NM_LOGFOLDER}/status-check.lastrun
if [ "${3}" == "email" ]; then
echo -e "\n\n" >> ${NM_LOGFOLDER}/status-check.lastrun
DOWNLIST report >> ${NM_LOGFOLDER}/status-check.lastrun
STATUSLOG="$(cat ${NM_LOGFOLDER}/status-check.lastrun)"
SENDNOTICE "Status Report" "Status Report\n${STATUSLOG}"
fi
else
STATUS ${2} ${3}
rm -f ${NM_TMPFOLDER}/status-check.running
status_start=$(date +%Y-%m-%d-%H-%M-%S)
STATUSRUN_TMPFOLDER=${NM_TMPFOLDER}/${status_start}
mkdir ${STATUSRUN_TMPFOLDER}
touch "${STATUSRUN_TMPFOLDER}/status-check.running"
if [ "${2}" == "report" ]; then
echo "${status_start} - LOCAL - ${NODE_HOSTNAME} - Starting Status Check" >> ${NM_LOGFILE}
echo -e "${status_start} - Starting status check #############################\n" > ${STATUSRUN_TMPFOLDER}/status-check.running
STATUS report ${3} >> ${STATUSRUN_TMPFOLDER}/status-check.running
echo -e "\n\n$(date +%Y-%m-%d-%H-%M-%S) - Finished status check #############################\n" >> ${STATUSRUN_TMPFOLDER}/status-check.running
echo "$(date +%Y-%m-%d-%H-%M-%S) - LOCAL - ${NODE_HOSTNAME} - Completed Status Check" >> ${NM_LOGFILE}
rm -f ${NM_LOGFOLDER}/status-check.lastrun
mv ${STATUSRUN_TMPFOLDER}/status-check.running ${NM_LOGFOLDER}/status-check.lastrun
rm -Rf ${STATUSRUN_TMPFOLDER}
if [ "${3}" == "email" ]; then
echo -e "\n\n" >> ${NM_LOGFOLDER}/status-check.lastrun
DOWNLIST report >> ${NM_LOGFOLDER}/status-check.lastrun
STATUSLOG="$(cat ${NM_LOGFOLDER}/status-check.lastrun)"
SENDNOTICE "Status Report" "Status Report\n${STATUSLOG}"
fi
else
# echo -e "${idsCL[LightYellow]}Status check already running, please wait and try again${idsCL[Default]}"
echo -e "${idsCL[LightYellow]}Status checks are already running${idsCL[Default]}"
echo -en "${idsCL[LightCyan]}View the (L)ive log, or the (P)revious run log instead? ${idsCL[Default]}"
read -n1 choice
case $choice in
[Ll]) watch -n1 tail -n35 ${NM_TMPFOLDER}/status-check.running; echo;;
[Pp]) echo; cat ${NM_LOGFOLDER}/status-check.lastrun;;
esac
echo
STATUS ${2} ${3}
rm -f ${NM_TMPFOLDER}/status-check.running
fi
fi;;
scantimes) STATUS_SCANTIMES ${2} ${3} ${4} ${5};;