#!/bin/ksh
SECS=300 # Defines the number of seconds for each sample
INTERVAL=2 # Defines the total number of sampling intervals
STATCOUNT=0 # Initialize a loop counter to 0, zero
OS=$(uname) # Defines the UNIX flavor
###################################################
##### SETUP THE ENVIRONMENT FOR EACH OS HERE ######
###################################################
# These "F-numbers" point to the correct field in the
# command output for each UNIX flavor.
case $OS in
AIX|HP-UX) SWITCH='-t'
F1=3
F2=4
F3=5
F4=6
echo "/nThe Operating System is $OS/n"
;;
Linux|SunOS) SWITCH='-c'
F1=1
F2=2
F3=3
F4=4
echo "/nThe Operating System is $OS/n"
;;
*) echo "/nERROR: $OS is not a supported operating system/n"
echo "/n/t...EXITING.../n"
exit 1
;;
esac
###################################################
######## BEGIN GATHERING STATISTICS HERE ##########
###################################################
echo "Gathering CPU Statistics using vmstat.../n"
echo "There are $INTERVAL sampling periods with"
echo "each interval lasting $SECS seconds"
echo "/n...Please wait while gathering statistics.../n"
# Use "iostat" to monitor the CPU utilization and
# remove all lines that contain alphabetic characters
# and blank spaces. Then use the previously defined
# field numbers, for example F1=4,to point directly
# to the 4th position, for this example. The syntax
# for this techniques is ==> $'$F1'.
iostat $SWITCH $SECS $INTERVAL | egrep -v '[a-zA-Z]|^$' /
| awk '{print $'$F1', $'$F2', $'$F3', $'$F4'}' /
| while read FIRST SECOND THIRD FOURTH
do
if ((STATCOUNT == 1)) # Loop counter to get the second set
then # of data produces by "iostat"
case $OS in # Show the results based on the UNIX flavor
AIX)
echo "/nUser part is ${FIRST}%"
echo "System part is ${SECOND}%"
echo "Idle part is ${THIRD}%"
echo "I/O wait state is ${FOURTH}%/n"
;;
HP-UX|Linux)
echo "/nUser part is ${FIRST}%"
echo "Nice part is ${SECOND}%"
echo "System part is ${THIRD}%"
echo "Idle time is ${FOURTH}%/n"
;;
SunOS)
echo "/nUser part is ${FIRST}%"
echo "System part is ${SECOND}%"
echo "I/O Wait is ${THIRD}%"
echo "Idle time is ${FOURTH}%/n"
;;
esac
fi
((STATCOUNT = STATCOUNT + 1)) # Increment the loop counter
done
分享到:
相关推荐
主要介绍了shell脚本实现服务器进程监控的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧
Linux常用的系统监控shell脚本
Linux下监控磁盘的空闲空间的shell脚本,对于系统管理员或DBA来说,必不可少。下面是给出的一个监控磁盘空间空间shell脚本的样本,供大家参考。 1、监控磁盘的空闲空间shell脚本 robin@SZDB:~/dba_scripts/...
使用Shell脚本对Linux系统和进程资源进行监控.docx使用Shell脚本对Linux系统和进程资源进行监控.docx
Shell脚本定时监控tomcat,服务挂掉自动重启
shell脚本,通过snmp方式获取远程服务器的CPU内存和硬盘的使用率,需要支持snmpget和snmpwalk命令,并且为了支持小数运算,需要安装bc命令。
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
利用shell脚本实现每隔60秒磁盘内存数据监控 #!/bin/bash #Author:GaoHongYu #QQ:1061767621 #Time:2019-12-24 18:43:22 #Name:ncjk.sh #Version:V1.0 clear xtip=$(hostname -I) cprl=$(df -Th |head -2|tail -1|...
比如,你可以使用shell脚本的PID在/tmp下创建一个唯一的临时文件。有时侯脚本需要检测所有运行的进程,它可以从进程列表中排除自身的子shell。 在bash中,子shell进程的PID存储在一个特殊的变量‘$$’中。这个变量...
该程序使用场景说明:主要用域Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人
主要介绍了shell脚本监控系统负载、CPU和内存使用情况,本文分别给出监控服务器系统负载情况、监控系统cpu使用情况、、监控系统内存情况、监控系统交换分区swap使用情况的脚本,需要的朋友可以参考下
Linux服务器下流量监控报警系统shell脚本实现.pdf
使用 Bash shell 脚本进行功能测试
shell编写的采集系统主机信息的脚本,包括CPU,内存,磁盘,网络信息。可以自己设置采集频率,并将采集信息生成SQL脚本通过FTP自动上传至数据库服务器,入库。
linux系统java服务自启动shell脚本及服务cpu内存占用监控脚本
linux服务器带宽监控脚本 shell脚本,加好权限,直接运行即可
主要介绍了Shell脚本实现Linux系统和进程资源监控,本文讲解了检查进程是否存在、检测进程 CPU 利用率、检测进程内存使用量、检测进程句柄使用量、,需要的朋友可以参考下
Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统Shell脚本.zipLinux操作系统Shell脚本.zip Linux操作系统Shell脚本.zipLinux操作系统...
需要提高cpu利用率的shell脚本