PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /opt/sharedrads/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //opt/sharedrads/imap_io |
#!/bin/bash #Written by jeffr - 4/11/12 - Rev 1.0 - jeffr@inmotionhosting.com #Revised by eriks - 4/26/12 - Rev 1.1 - modified to be in compliance with T3 coding standards #load functions + banners source /opt/sharedrads/radsfunctions.sh if [ "$RADSCOLORS" == "off" ]; then radsbanner-nocolor else radsbanner fi function HELP() { echo echo "Usage:" echo " imap_io [duration] [read rate]" echo echo "You can supply two optional arguments to this script." echo echo "Arguments:" echo " duration = how long to check for (minimum/default = 60 seconds)" echo " read rate = disk read rate in kbps (minimum/default = 500 kbps)" echo } if [[ $1 == --help ]] || [[ $1 == -h ]]; then HELP exit 1; fi if [ ! -f /usr/bin/iotop ]; then echo echo " ERROR: iotop is not installed on this system, you cannot use this tool." echo exit 1; fi RUN_FOR_INPUT=$1 if [[ $RUN_FOR_INPUT -gt 60 ]]; then RUN_FOR=$RUN_FOR_INPUT else RUN_FOR=60 fi; THRESHOLD_INPUT=$2 if [[ $THRESHOLD_INPUT -gt 500 ]]; then THRESHOLD=$THRESHOLD_INPUT else THRESHOLD=500 fi; STOP_TIME=$(date +%s --date="$RUN_FOR seconds"); echo echo " Collecting data from iotop and showing IMAP usage >$THRESHOLD kbps for $RUN_FOR seconds:" while true; do NOW=$(date +%s); if [ $NOW -lt $STOP_TIME ]; then iodump=`/usr/bin/iotop -qqqkbn1 |awk -v TRANS_RATE="$THRESHOLD" '/imapd/ {if($4 > TRANS_RATE && $3 != "root") print $1"--"$3"--"$4"--"$(NF)}'` for sepacct in $iodump; do hasvalue=$(echo $sepacct |grep home |wc -l); if [ $hasvalue != 0 ]; then imapinbox=$(echo $sepacct |awk -F'--' '{print $4}'); xferrate=$(echo $sepacct |awk -F'--' '{print $3}'); emailaddy=$(echo $imapinbox |awk -F'/' '{print $6"@"$5}'); imapfolder=$(echo $sepacct |awk -F'--' '{print $1}' |xargs -i lsof -p{} |tail -1 |awk -F' ' '{print substr($0,index($0,$9)) }' |sed 's%/[^/]*$%/%'); isinbox=$(echo $imapfolder |grep mail |wc -l); if [ $isinbox != 0 ]; then num_messages=$(echo "'$imapfolder'" |xargs ls |wc -l); echo $emailaddy $num_messages messages in folder: $imapfolder transferring at a rate of: $xferrate kbps; fi; fi; done; else exit 0; fi; done