monitor system

 #!/bin/bash
 #
 #Snapshot_Stats - produces a report for system stats
 # This report will mail to root.
 # Command :free,uptime,exec
 #############################################################
 #Set Script Variables
 #
 DATE=`date +%d"-"%m"-"%Y`
 DISK_TO_MONITOR="/dev/sda1 /dev/sda2"
 MAIL=`which mail`
 MAIL_TO=root
 REPORT=/home/ach/data-file/monitor-system$DATE.rpt
 #
 ################################################################
 #Create Report File
 #
 exec >& # Save file descriptor
 #
 exec > $REPORT # direct output to rpt file.
 ###############################################################
 #
 echo
 echo -e "\t\tDaily System Report"
 echo
 #
 ###############################################################
 #Date Stamp the Report
 #
 echo "Today is $DATE"
 echo
 #
 ###############################################################
 # ) Gather System Uptime Statistics
 #
 echo -e "System has been \c"
 uptime | sed -n '/,/s/,/ /gp' |
 gawk '{
  ==  =="days")
 {print $,$,$,$}
 else
 {print $,$}
 }'
 #
 ##############################################################
 # ) Gather Disk Usage Statistics
 #
 echo
 for DISK in $DISK_TO_MONITOR    #loop to check disk space
 do
 echo -e "$DISK usage : \c"
 df -h $DISK | sed -n '/% \//p' | gawk '{print $5}'
 done
 #
 ###################################################################
 # )Gather Memory Usage Statistics
 #
 echo
 echo "Memory Usage :"
 #
 free | sed -n '2p' |
 gawk 'x = int(($3 / $2)*100)
 {print x}' |
 sed 's/$/%/'
 echo
 #
 #
 ##################################################################
 # ) Gather Number of Zombie Processes
 #
 echo
 ZOMBIE_CHECK=`ps -al | gawk '{print $2,$4}' | grep Z`
 #
 if [ "$ZOMBIE_CHECK" = "" ]
 then
 echo "No Zombie Process on System at this Time."
 else
 echo "Current System Zombie Processes"
 ps -al | gawk '{print $2,$4}' | grep Z
 fi
 echo
 #
 ###################################################################
 # Restore File Descriptor & Mail Report
 #
 exec >& # Restore output to STDOUT
 #
 $MAIL -s "System Statistics Report for $DATE" $MAIL_TO < $REPORT
 #
 ###################################################################
 # Clean up
 #
 #rm -f $REPORT
 #
 #END
上一篇:socket编程 —— 非阻塞socket (转)---例子已上传至文件中


下一篇:J2EE web项目中解决所有路径问题