xw022
全部博文(12)
2011年(1)
2009年(11)
guowanxi
shangbao
forsaken
linuxyua
分类: LINUX
2009-06-05 10:13:20
vi Disk_check.sh#!/bin/sh#Check the HOME excist and if not excist,CREATE them.home_dir="/var/report";ip_list="$home_dir/ip_list";lock=$home_dir/lock;if [ -f "$lock" ]then echo "This programe is already running."; exit 0;fitouch $lock;Check_dir(){if [ ! -d "$home_dir" ]then mkdir -p $home_dir;fiecho " 11 12 13 14 15 16 71 72 73 74 75 76 77 78 79 41 42 91 92 93 101 102 103 104 111 112 113 114 115 116 131 132 133 134 135 136 137 138 216 217 21 22 201 202 51 52 191 192 193 194 195 " > $ip_list;}Yesterday(){month=`date +%m`day=`date +%d`year=`date +%Y`month=`expr $month + 0`day=`expr $day - 1`if [ $day -eq 0 ]; thenmonth=`expr $month - 1`if [ $month -eq 0 ]; thenmonth=12day=31year=`expr $year - 1`elsecase $month in1|3|5|7|8|10|12) day=31;;4|6|9|11) day=30;;2)if [ `expr $year % 4` -eq 0 ]; thenif [ `expr $year % 400` -eq 0 ]; thenday=29elif [ `expr $year % 100` -eq 0 ]; thenday=28elseday=29fielseday=28fi;;esacfifiif [ $month -lt 10 ]then month=0$month;fiif [ $day -lt 10 ]then day=0$day;fiYESTIME="$year$month$day";return $YESTIME;}#INITNOWTIME=`date +'%Y%m%d'`;NOWTIME2=`date +'%Y-%m-%d %H:%M:%S'`;DISK_FILE=$home_dir/disk_file.$NOWTIME;PRE_IP="10.9.30.";Yesterday;Check_dir;FILE="$home_dir/MAIL$NOWTIME";echo > $home_dir/MAIL$NOWTIME;echo "IPADD :10.9.30.22" >> $FILE;echo "TIME :$NOWTIME2" >> $FILE;echo "HOST :fx-scr12" >> $FILE;echo "STAT :Report" >> $FILE;echo "INFO :JHFSYS/LiuJun" >> $FILE;echo "" >> $FILE;echo "+------------------------------------------------------------------------------------------+" >> $FILE;echo "|10.9.30.xxx |DiskSize(Bytes) |Used(Bytes) |Avail(Bytes) |Use |Full(DAY) |Load |" >> $FILE;echo "+------------------------------------------------------------------------------------------+" >> $FILE;for ip in `cat $ip_list`do DISK_SIZE_GB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -lh | sed -ne '/\/$/p' | awk '{print $2}'`; DISK_SIZE_KB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -l | sed -ne '/\/$/p' | awk '{print $2}'`; DISK_USED_GB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -lh | sed -ne '/\/$/p' | awk '{print $3}'`; DISK_USED_KB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -l | sed -ne '/\/$/p' | awk '{print $3}'`; DISK_Avail_GB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -lh | sed -ne '/\/$/p' | awk '{print $4}'`; DISK_Avail_KB_NOWTIME=`ssh dljroot@$PRE_IP$ip -- df -l | sed -ne '/\/$/p' | awk '{print $4}'`; DISK_PERCENT=`ssh dljroot@$PRE_IP$ip -- df -l | sed -ne '/\/$/p' | awk '{print $5}'`; LOAD=`ssh dljroot@$PRE_IP$ip -- uptime | awk -F"average:" '{print $2}' | awk -F"," '{print $1}' |tr -d ' '`; echo $LOAD; echo $Avail_FILE_yeday; Avail_FILE_today="$home_dir/$ip.avail.$NOWTIME"; Avail_FILE_yeday="$home_dir/$ip.avail.$YESTIME"; #touch $Avail_FILE_today $Avail_FILE_yeday; if [ -n "`cat $Avail_FILE_yeday`" ] then Avail_FILE_yeday=`cat $Avail_FILE_yeday`; else touch $Avail_FILE_yeday; echo $DISK_Avail_KB_NOWTIME > $Avail_FILE_yeday; Avail_FILE_yeday=`cat $Avail_FILE_yeday`; fi echo $DISK_Avail_KB_NOWTIME > $Avail_FILE_today; Avail_FILE_today=`cat $Avail_FILE_today`; FULL_DAY=`expr $Avail_FILE_yeday - $Avail_FILE_today`; if [ $FULL_DAY -ne "0" ] then FULL_DAY=`expr $DISK_Avail_KB_NOWTIME / $FULL_DAY`; else FULL_DAY=100; fi if [ $FULL_DAY -lt 7 ] || [ $LOAD -gt 3 ] then echo "|`echo $PRE_IP$ip | awk '{printf "%-12s",$1}'` `echo $DISK_SIZE_KB_NOWTIME\($DISK_SIZE_GB_NOWTIME\) | awk '{printf "%-18s",$1}'` `echo $DISK_USED_KB_NOWTIME\($DISK_USED_GB_NOWTIME\) | awk '{printf "%-15s",$1}'` `echo $DISK_Avail_KB_NOWTIME\($DISK_Avail_GB_NOWTIME\) | awk '{printf "%-15s",$1}'` `echo $DISK_PERCENT | awk '{printf "%-4s",$0}'` `echo $FULL_DAY | awk '{printf "%-10s",$0}'` `echo $LOAD | awk '{printf "%-10s",$0}'`|--Warning!!" >> $FILE; else echo "|`echo $PRE_IP$ip | awk '{printf "%-12s",$1}'` `echo $DISK_SIZE_KB_NOWTIME\($DISK_SIZE_GB_NOWTIME\) | awk '{printf "%-18s",$1}'` `echo $DISK_USED_KB_NOWTIME\($DISK_USED_GB_NOWTIME\) | awk '{printf "%-15s",$1}'` `echo $DISK_Avail_KB_NOWTIME\($DISK_Avail_GB_NOWTIME\) | awk '{printf "%-15s",$1}'` `echo $DISK_PERCENT | awk '{printf "%-4s",$0}'` `echo $FULL_DAY |awk '{printf "%-10s",$0}'` `echo $LOAD |awk '{printf "%-10s",$0}'`|" >> $FILE; fidoneecho "+------------------------------------------------------------------------------------------+" >> $FILE; echo "$DISK_Avail_KB_NOWTIME" > $Avail_FILE_today; echo "$DISK_Avail_KB_NOWTIME" > $Avail_FILE_yeday;#mv $Avail_FILE_today $Avail_FILE_yeday;rm -rf ./[0-9]*rm $lock;#mailx -s "Official Report of DISK partition On $NOWTIME2" xxx@email.com < $FILE;mailx -s "Official Report of DISK partition On $NOWTIME2" xxx@email.com < $FILE;exit 0;
上一篇:2.6中设备节点的创建
下一篇:WinCE5.0定制支持Intel 82559网卡
登录 注册