系统快照报告

3年以前  |  阅读数:164 次  |  编程语言:Shell 
#!/bin/bash
#
# Snapshot_Stats - produces a report for system stats
#
##############################################
#
# Set Script Variables
#
DATE=`date +%m%d%y`
DISKS_TO_MONITOR="/dev/sda1"
MAIL=`which mutt`
MAIL_TO=tiandi
REPORT=/home/tiandi/Documents/Snapshot_Stats_$DATE.rpt
#
####################################################
#
# Create Report File
#
exec 3>&1             # Save file descriptor
#
exec 1> $REPORT       # direct output to rpt file
#
###################################################
#
echo
echo -e "\t\tDaily System Report"
echo
#
###################################################
# Date Stamp the Report
#
echo -e "Today is" `date +%m%d%y`
echo
#
##################################################
#
#1) Gather System Uptime Statistics
#
echo -e "System has been \c"
uptime | sed -n '/,/s/,/ /gp' | gawk '{if($4 == "days" || $4 == "day") {print $2,$3,$4,$5} else {print $2,$3}}'
#
#################################################
#
#2) 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
#
##################################################################
#
#3) Gather Memory Usage Statstics
#
echo
echo -e "Memory Usage: \c"
#
free | sed -n '2p' | gawk 'x = int(($3 / $2) * 100) {print x}' | sed 's/$/%/'
#
###############################################################
#
#4) 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 1>&3               # Restore output to STDOUT
#
#$MAIL -a $REPORT -s "System Sstatistics Report for $DATE"
#-- $MAIL_TO < /dev/null
#
###############################################################
#
# Clean up
#
#rm -f $REPORT
#
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
将二进制数据转为16进制以便显示
获取IMSI
获取IMEI
Java生成UUID
PHP自定义函数获取搜索引擎来源关键字的方法
让你成为最历害的git提交人
在Zeus Web Server中安装PHP语言支持
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php+ajax+json 详解及实例代码
Yii2汉字转拼音类的实例代码
php封装的page分页类完整实例
php数组合并array_merge()函数使用注意事项
PHP设计模式之工厂模式与单例模式
PHP实现简单爬虫的方法
php实现数组中索引关联数据转换成json对象的方法
wget使用技巧