Mini Shell

Direktori : /opt/sharedrads/
Upload File :
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