Mini Shell
Direktori : /opt/sharedrads/ |
|
Current File : //opt/sharedrads/check_dcpumon |
#!/bin/bash
CHECKUSER=$1
SESSIONID=$2
if [ -z $1 ]; then
echo
echo "Usage: check_dcpumon [username]"
echo
exit 0
fi
#load functions + banners
if [ -f /opt/sharedrads/radsfunctions.sh ]; then
source /opt/sharedrads/radsfunctions.sh
else
source /opt/dedrads/radsfunctions.sh
fi
if [ "$2" == "--plaintext" ]; then
RADSCOLORS=off
DETAILED=YES
fi
if [ -z $2 ]; then
SESSIONID=`date +%s`
DETAILED=YES
fi
#get the data from dcpumon, save it in a unique tmp session file
NODATA=FALSE
/usr/local/cpanel/bin/dcpumonview | grep "/$CHECKUSER/" > /tmp/.$SESSIONID || NODATA=TRUE
if [ "$NODATA" == "FALSE" ]; then
if [ "$RADSCOLORS" == "off" ];
then
echo -e "\033[0m Displaying top utilization processes for user as recorded by cPanel and dcpumon \033[0m"
else
echo -e "\033[40;37;2m Displaying top utilization processes for user as recorded by cPanel and dcpumon \033[0m"
fi
if [ "$RADSCOLORS" == "off" ];
then
echo -en "\033[0m"
else
echo -en "\033[30;1m"
fi
#strip html from 'dcpumonview' output
cat /tmp/.$SESSIONID | sed 's/<[^>]*>/ /g'
#clear colors
echo -ne "\033[0m"
fi
#no session ID was received earlier, we were invoked directly, lets display add'l history:
echo
if [ "$DETAILED" == "YES" ]; then
if [ "$RADSCOLORS" == "off" ];
then
echo " Displaying usage history for user as recorded by cPanel and dcpumon "
else
echo -e "\033[40;37;2m Displaying usage history for user as recorded by cPanel and dcpumon \033[0m"
fi
if [ "$RADSCOLORS" == "off" ];
then
echo -ne "\033[0m"
else
echo -ne "\033[34;1m"
fi
grep $CHECKUSER /var/log/dcpumon/$(date +%Y)/$(date +%b)/*|grep -v root | sed 's_/var/log/dcpumon/__'| \
awk -F= '{total=total+$2;printf "%s\t%1.1f\t%f\t%f\t\n",$1,$2,$3,$4}' | \
awk '{gsub(/\//," ",$0);gsub(/:/,": ",$0);print;}' | sort -fMk2 -nk3
#clear colors
fi
echo -ne "\033[0m"
rm -f /tmp/.$SESSIONID
Zerion Mini Shell 1.0