仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 769|回复: 8
打印 上一主题 下一主题

[shell编程] 来一发经常使用的体系监控的下令shell剧本

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:17:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!作为体系运维职员,就要及时的监控体系的一些主要参数,不如僵尸历程,CPU的使用率,内存的利用情形,磁盘空间的利用情形,体系的平衡负载,依据失掉的最新信息,我们就可以判别体系运转的形态是不是优秀。自己打仗Linux体系也有一点工夫,在网上看看了,经由收拾,将一些经常使用的体系监控的下令shell剧本拿出来晒晒,但愿给老手供应进修的时机,同时也但愿履历丰厚者提够些手艺晓得,多多切磋交换!
  取得某个用户的某个举行的信息:
  functionGetPID#user#name{PsUser=$1#echo$PsUserPsName=$2#echo$PsNamepid=`ps-u$PsUser|grep$PsName|grep-vgrep|grep-vvi|grep-vdbx
|grep-vtail|grep-vstart|grep-vstop|sed-n1p|awk{print$1}`echo$pid}PID=`GetPIDlgycat`echo$PID#Theprocessdoesnotexist.if["-$PID"=="-"]then{echo"Theprocessdoesnotexist."}fi

  这内里触及一些最基础的历程监控下令,在linux中你只需manps就会失掉良多利用申明,grep依照必定的婚配划定规矩举行字符串支解婚配,另有一些复杂的把持语句,这些基础的shell语法应当是我们的基础妙技,在早晨会有良多的进修材料。
  取得CPU的利用率:
  functionGetCPU{CPUValue=`ps-p$1-opcpu|grep-vCPU|awk{print$1}|awk-F.{print$1}`echo$CPUValue}functionCheckCPU{PID=$1cpu=`GetCPU$PID`if[$cpu-gt80]then{echo"Theusageofcpuislargerthan80%"}else{echo"Theusageofcpuisnormal"}fi}CheckCPU$PID
  这个步伐和上一个代码片断是一脉相承,本段代码的运转了局一会会有响应的展现!
  这段剧本的次要目标是用来举行对某个历程的内存利用情形的检测:
  functionGetMem{MemUsage=`ps-ovsz-p$1|grep-vVSZ`((MemUsage/=1024))echo$MemUsage}mem=`GetMem$PID`if[$mem-gt1600]then{echo"Theusageofmemoryislargerthan1.6G"}else{echo"Theusageofmemoryisnormal"}fi
  这是用来举行取得此历程的句柄利用量:
  functionGetDes{DES=`ls/proc/$1/fd|wc-l`echo$DES}des=`GetDes$PID`if[$des-gt900]then{echo"Thenumberofdesislargerthan900"}else{echo"Thenumberofdesisnormal"}fi
  举行对某个端口的绑定的查询:
  functionListening{TCPListeningNum=`netstat-an|grep":$1"|awk$1=="tcp"&&$NF=="LISTEN"{print$0}|wc-l`UDPListenNum=`netstat-an|grep":$1"|awk$1=="udp"&&$NF=="0.0.0.0:*"{print$0}|wc-l`((ListeningNum=TCPListeningNum+UDPListenNum))if[$ListeningNum==0]then{echo"0"}else{echo"1"}fi}isListen=`Listening8080`if[$isListen-eq1]then{echo"Theportislistening"}else{echo"Theportisnotlistening"}fi
  体系CPU的利用情形:
  functionGetSysCPU{CPUIdle=`vmstat15|sed-n3,$p|awk{xx=x+$15}END{printx/5}|awk-F.{print$1}`CPUNum=`echo"100-$CPUIdle"|bc`echo$CPUNum}cpu=`GetSysCPU`echo"TheSystemCPUis$cpu"if[$cpu-gt90]then{echo"Theusageofsystemcpuislargerthan90%"}else{echo"Theusageofsystemcpuisnormal"}fi
  取得某制订的磁盘空间:
  functionGetDiskSpc{if[$#-ne1]thenreturn1fiFolder="$1$"DiskSpace=`df-k|grep$Folder|awk{print$5}|awk-F%{print$1}`echo$DiskSpace}Folder="/dev"DiskSpace=`GetDiskSpc$Folder`echo"Thesystem$Folderdiskspaceis$DiskSpace%"if[$DiskSpace-gt90]then{echo"Theusageofsystemdisk($Folder)islargerthan90%"}else{echo"Theusageofsystemdisk($Folder)isnormal"}fi
  在本机上代码检测的了局以下:
  lgy@lgy-HP:~$./monitorCPU.sh2388TheusageofcpuisnormalTheusageofmemoryisnormalThenumberofdesisnormalTheportisnotlisteningTheSystemCPUis1TheusageofsystemcpuisnormalThesystem/devdiskspaceis1%Theusageofsystemdisk(/dev)isnormal


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
沙发
发表于 2015-1-15 16:20:18 | 只看该作者

来一发经常使用的体系监控的下令shell剧本

天书奇谭,建议列为中文专业博士学位答辩翻译必考题目。
乐观 该用户已被删除
板凳
发表于 2015-1-24 15:39:45 | 只看该作者
应对Linux的发展历史和特点有所了解,Linux是抢占式多任务多用户操作系统,Linux最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具。
飘飘悠悠 该用户已被删除
地板
发表于 2015-2-2 11:00:30 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
深爱那片海 该用户已被删除
5#
发表于 2015-2-7 19:27:26 | 只看该作者
Linux简单,占内存少,特别是对于程序开发人员来说很方便,如果说windows的成功在于其方便用户的窗口管理界面。
蒙在股里 该用户已被删除
6#
发表于 2015-2-23 13:18:48 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
变相怪杰 该用户已被删除
7#
发表于 2015-3-7 10:38:47 | 只看该作者
以前觉得Linux就跟dos一样,全是用命令窗口,相对于窗口界面来说多麻烦呀。
山那边是海 该用户已被删除
8#
发表于 2015-3-15 05:12:41 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-21 21:50:21 | 只看该作者
不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 07:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表