/
opt
/
dedrads
/
/opt/dedrads
mkdir
upload
Name
Size
Mode
Actions
account_review/
-
0555
rm
check_software_mods/
-
0555
rm
cms_tools/
-
0555
rm
etc/
-
0555
rm
extras/
-
0555
rm
mailparse/
-
0555
rm
mysql/
-
0555
rm
nlp_scripts/
-
0555
rm
oldrads/
-
0555
rm
perl/
-
0555
rm
provision/
-
0555
rm
python/
-
0555
rm
suspended/
-
0555
rm
__pycache__/
-
0555
rm
account-review
799
0555
edit
dl
rm
allfw
6259
0555
edit
dl
rm
alp.py
16553
0555
edit
dl
rm
autossl_sync
6267
0555
edit
dl
rm
check_apache
9205
0555
edit
dl
rm
check_bandwidth
4546
0555
edit
dl
rm
check_boxtrapper
1684
0555
edit
dl
rm
check_cpu
12212
0555
edit
dl
rm
check_crons
1827
0555
edit
dl
rm
check_dcpumon
1973
0555
edit
dl
rm
check_dns
1827
0555
edit
dl
rm
check_domlogs
61
0555
edit
dl
rm
check_exim
3731
0555
edit
dl
rm
check_hacks
22604
0555
edit
dl
rm
check_imap
5249
0555
edit
dl
rm
check_io
6635
0555
edit
dl
rm
check_max_children
16341
0555
edit
dl
rm
check_mem
1660
0555
edit
dl
rm
check_misc
1510
0555
edit
dl
rm
check_pacct
5201
0555
edit
dl
rm
check_php
4344
0555
edit
dl
rm
check_pop3
2295
0555
edit
dl
rm
check_prov.py
4714
0555
edit
dl
rm
check_server
696
0555
edit
dl
rm
check_size
490
0555
edit
dl
rm
check_software
9849
0555
edit
dl
rm
check_spamd
2426
0555
edit
dl
rm
check_traffic
1933
0555
edit
dl
rm
check_user
1887
0555
edit
dl
rm
clean_exim.py
6390
0555
edit
dl
rm
clusterfix
5343
0555
edit
dl
rm
cmspass.py
3970
0555
edit
dl
rm
cms_check.py
9825
0555
edit
dl
rm
cms_counter.py
36734
0555
edit
dl
rm
cms_creds
713
0555
edit
dl
rm
cms_dumpdb
4485
0555
edit
dl
rm
cms_pw
1416
0555
edit
dl
rm
cpanel-api
7040
0555
edit
dl
rm
cpanel_postgres_manager.py
29004
0555
edit
dl
rm
cpmerge
4631
0555
edit
dl
rm
cpumon
2195
0555
edit
dl
rm
dcpumon.pl
1239
0555
edit
dl
rm
dedcheck
18127
0555
edit
dl
rm
dns-sync
14386
0555
edit
dl
rm
docroot.py
4425
0555
edit
dl
rm
du-tree
7450
0555
edit
dl
rm
envinfo.py
6633
0555
edit
dl
rm
exclude_rbl.py
5249
0555
edit
dl
rm
extract-vhost
2691
0555
edit
dl
rm
filescan
3566
0555
edit
dl
rm
find_warez
1460
0555
edit
dl
rm
first_setup.py
19120
0555
edit
dl
rm
fixwpcron.py
4822
0555
edit
dl
rm
fix_dns_cluster
353
0555
edit
dl
rm
goaccess
1217720
0555
edit
dl
rm
hostsfilemods
4467
0555
edit
dl
rm
imap_io
2323
0555
edit
dl
rm
innodb_converter.py
9343
0555
edit
dl
rm
killall911
530
0555
edit
dl
rm
killdns
941
0555
edit
dl
rm
lastcommcache.sh
1374
0555
edit
dl
rm
legal_lock_down.sh
7450
0555
edit
dl
rm
lil-cpanel
52002
0555
edit
dl
rm
listacct
4575
0555
edit
dl
rm
mailscan
4544
0555
edit
dl
rm
mail_sources.py
7407
0555
edit
dl
rm
megaclisas-status
38664
0555
edit
dl
rm
migrate2central.sh
14418
0555
edit
dl
rm
modify-account
40631
0555
edit
dl
rm
modsec_disable.py
11461
0555
edit
dl
rm
monarxctl
8912
0555
edit
dl
rm
msp.pl
27714
0555
edit
dl
rm
mysql_dstat
474
0555
edit
dl
rm
mysql_selector.py
73102
0555
edit
dl
rm
nlp
4582
0555
edit
dl
rm
procscrape
1863
0555
edit
dl
rm
quarantine
11083
0555
edit
dl
rm
radsfunctions.sh
863
0555
edit
dl
rm
recent-cp
16148
0555
edit
dl
rm
remote_dump
18347
0555
edit
dl
rm
reset_cpanel
3205
0555
edit
dl
rm
server-load
2192
0555
edit
dl
rm
show-conns
20105
0555
edit
dl
rm
show-conns-adv.py
54667
0555
edit
dl
rm
sparta.py
382498
0555
edit
dl
rm
sqltop
27129
0555
edit
dl
rm
telcheck
2411
0555
edit
dl
rm
temprootreset
186
0555
edit
dl
rm
unsuspend_user
1307
0555
edit
dl
rm
unsusprunner.sh
1840
0555
edit
dl
rm
updatednsadmin
526
0555
edit
dl
rm
update_spf
14972
0555
edit
dl
rm
upgrade-check
9216
0555
edit
dl
rm
vhost_data.py
6221
0555
edit
dl
rm
wp-xray.sh
85816
0555
edit
dl
rm
Edit:
/opt/dedrads/check_io
(6635B)
#!/bin/bash #======================================================================================== # check_io | batch iotop color display / logging | 3/09/2012 | JacobN@inmotionhosting.com #======================================================================================== # check_io ----------- Logs to /var/log/sa/rads/diskio/ # check_io --process - Processes logs into /home/userna5/.imh/IO_YY-MM-DD_MM_HH # check_io --remove -- Removes all IO_ logs #======================================================================================== # Load functions + banners if [ -f /opt/sharedrads/radsfunctions.sh ]; then source /opt/sharedrads/radsfunctions.sh else source /opt/dedrads/radsfunctions.sh fi # Path to iotop binary if [ -f /usr/bin/iotop ]; then IOTOP=/usr/bin/iotop elif [ -f /sbin/iotop ]; then IOTOP=/sbin/iotop fi # Make sure we have iotop if [ ! -f $IOTOP ]; then echo;echo "ERROR: /usr/bin/iotop does not exist on this machine";echo;exit 1 fi # Setup colors reset="\033[0m"; red="\033[31;1;1m"; red_="\033[31;3;3m"; green="\033[32;1;1m"; green_="\033[32;3;3m"; white="\033[29;1;1m"; echo -en `radsbanner` $green_ "check_io v2.0" $reset; echo function run() { echo -e "$green============================== Read > 300K/s < 1,000K/s ==============================$reset" echo -e "$green_============================== Read > 1,000K/s ==============================$reset" echo -e "$red============================== Write > 300K/s < 1,000K/s ===============================$reset" echo -e "$red_============================== Write > 1,000K/s ===============================$reset" if [ ! -d "/var/log/sa/rads/diskio" ] then mkdir -p /var/log/sa/rads/diskio/logs fi $IOTOP -bokt | grep -v "DISK" | awk '{ READ=$5; WRITE=$7 } { if ( READ > 300 && READ < 1000 ) print "\033[32;1;1m" $0 "\033[0m" | "tee -a /var/log/sa/rads/diskio/logs/READ_low"; else if ( READ > 1000) print "\033[32;3;3m" $0 "\033[0m" | "tee -a /var/log/sa/rads/diskio/logs/READ_high"; else if ( WRITE > 300 && WRITE < 1000 ) print "\033[31;1;1m" $0 "\033[0m" | "tee -a /var/log/sa/rads/diskio/logs/WRITE_low"; else if ( WRITE > 1000) print "\033[31;3;3m" $0 "\033[0m" | "tee -a /var/log/sa/rads/diskio/logs/WRITE_high"}' } function process(){ find /var/log/sa/rads/diskio/logs -type f -exec cat {} \; | egrep -v "mailnull|mysql|nobody|root|none" | awk -F"/[0-9] " '{print $2}' | awk '{print $1}' | sort | uniq > /var/log/sa/rads/diskio/USERS for user in `cat /var/log/sa/rads/diskio/USERS` do if [ ! -d "/home/"$user"/.imh" ] then mkdir -p /home/$user/.imh fi grep $user /var/log/sa/rads/diskio/logs/READ_high > /home/$user/.imh/$user"_READ_high" grep $user /var/log/sa/rads/diskio/logs/READ_low > /home/$user/.imh/$user"_READ_low" grep $user /var/log/sa/rads/diskio/logs/WRITE_high > /home/$user/.imh/$user"_WRITE_high" grep $user /var/log/sa/rads/diskio/logs/WRITE_low > /home/$user/.imh/$user"_WRITE_low" cat /home/$user/.imh/$user_* | sed 's/1m/1m /' | sed 's/3m/3m /' | sed 's/:/ /g' | sort -nk2 -nk3 -nk4 | awk '{print $1,$2":"$3":"$4, substr($0, index($0,$5))}' > /home/$user/.imh/IO_`date +%F_%H_%M` done rm -rf /var/log/sa/rads/diskio/logs/READ_high rm -rf /var/log/sa/rads/diskio/logs/READ_low rm -rf /var/log/sa/rads/diskio/logs/WRITE_high rm -rf /var/log/sa/rads/diskio/logs/WRITE_low echo for user in `cat /var/log/sa/rads/diskio/USERS` do echo -n $user" " echo -n `cat /home/$user/.imh/$user"_READ_high" | wc -l`" " echo -n `cat /home/$user/.imh/$user"_READ_low" | wc -l`" " echo -n `cat /home/$user/.imh/$user"_WRITE_high" | wc -l`" " echo -n `cat /home/$user/.imh/$user"_WRITE_low" | wc -l`" " echo -n `cat /home/$user/.imh/$user* | wc -l`" " echo done > DUMP for user in `cat /var/log/sa/rads/diskio/USERS` do rm -rf /home/$user/.imh/$user"_READ_high" rm -rf /home/$user/.imh/$user"_READ_low" rm -rf /home/$user/.imh/$user"_WRITE_high" rm -rf /home/$user/.imh/$user"_WRITE_low" done echo echo -e "$white===========================$green_ Top 5 READ >1K/s $reset$white=======================|==========================$green Top 5 READ > 300K/s $reset$white===================$reset" paste <(echo -e "Username R>1K R<1K W>1K W<1K [Total]" | awk '{printf "\033[29;1;1m%-8s\033[0m %1s \033[32;3;3m%10s\033[0m %10s %10s %10s %10s\n", $1," ",$2,$3,$4,$5,$6}'; \ cat DUMP | sort -nk2 | tail -5 | awk '{printf "\033[29;1;1m%-8s\033[0m %1s \033[32;3;3m%10s\033[0m %10s %10s %10s %10s\n", $1," ",$2,$3,$4,$5,$6}') \ <(echo -e "Username R>1K R<1K W>1K W<1K [Total]" | awk '{printf "\033[29;1;1m%-8s\033[0m %10s \033[32;1;1m%10s\033[0m %10s %10s %10s\n", $1,$2,$3,$4,$5,$6}'; \ cat DUMP | sort -nk3 | tail -5 | awk '{printf "\033[29;1;1m%-8s\033[0m %10s\033[32;1;1m%10s\033[0m %10s %10s %10s\n", $1,$2,$3,$4,$5,$6}') echo echo -e "$white===========================$red_ Top 5 WRITE >1K/s $reset$white=======================|=========================$red Top 5 WRITE > 300K/s $reset$white==================$reset" paste <(echo -e "Username R>1K R<1K W>1K W<1K [Total]" | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %1s \033[31;3;3m%10s\033[0m%10s %10s\n", $1,$2,$3," ",$4,$5,$6}'; \ cat DUMP | sort -nk4 | tail -5 | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %1s \033[31;3;3m%10s\033[0m %10s %10s\n", $1,$2,$3," ",$4,$5,$6}') \ <(echo -e "Username R>1K R<1K W>1K W<1K [Total]" | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %10s \033[31;1;1m%10s\033[0m%10s\n", $1,$2,$3,$4,$5,$6}'; \ cat DUMP | sort -nk5 | tail -5 | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %10s \033[31;1;1m%10s\033[0m %10s\n", $1,$2,$3,$4,$5,$6}') echo echo -e "$white=========================== Top 10 TOTAL ==============================================================================================$reset" echo -e "Username R>1K R<1K W>1K W<1K [Total]" | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %10s %10s \033[29;1;1m%10s\033[0m\n", $1,$2,$3,$4,$5,$6}' cat DUMP | sort -nk6 | tail -10 | awk '{printf "\033[29;1;1m%-8s\033[0m %10s %10s %10s %10s \033[29;1;1m%10s\033[0m\n", $1,$2,$3,$4,$5,$6}' rm -rf DUMP } function remove() { echo "On this server `hostname` there are `ls -f /home/*/.imh/IO_* | wc -l` IO_ logs to remove" read -p "Ok to remove? [y/n]" yn case $yn in [Yy]* ) rm -rv /home/*/.imh/IO_*;; [Nn]* ) exit;; * ) echo "Please answer y or n.";; esac echo "All IO_ files wiped, thank you come again" } case $1 in --process) process ;; --remove) remove ;; *) run ;; esac
Save
cmd:
run