linux中利用shell监控内存使用率脚本

为了更方便的知道服务器上内存使用情况,并根据内存使用大小来重启服务,这里我只整了故障报警,如果想要自动重启服务的话,就要大家自己去修改了.

脚本内容:

写出来了,不太好看, 也不太会用awk, 不太会用awk的格式输出所以用了一长串的字符,高手们来改进

 代码如下 复制代码

[zz ~/my_scripts]$ cat awk_monitor
{
OFS="t"
if ( $9 >= 5.0 )
    if ( $10 >=3.0 )
                        print $1, $2, $3, $4, $5,$6,$7,$8,$9, $10, $11, $12            #这里我觉得可以改进

fi
}

[zz ~/my_scripts]$ cat monitor_processes
#!/bin/bash

top -b -n 1 |sed -n '8,$'p > top.log
print "Please notice CPU and memory usage:n" >> top_re.log
echo >> top_re.log
print "PID    USER     PR    NI        VIRT    RES     SHR     S       %CPU    %MEM    TIME+           COMMAND" >> top_re.log   # 这里我也觉得可以改进
gawk -f awk_monitor < top.log >> top_re.log

mail -s "system monitor" zl@shili001 < top_re.log

后来网上找到一个不错的代码给大家分享一下。

vi check_mem.sh

 代码如下 复制代码

#!/bin/bash
IP=`ifconfig | grep 'inet ' | grep -v '127.0.0.1' | awk -F ' ' '{print $2}'| awk -F':' '{print $2}'| head -n 1`
MAX_mem=95
MAX_swap=20
memory=`free -m|grep Mem|awk '{print $3}'`
Men=`free | awk '/Mem/ {print int($3/$2*100)}'`
Mem=`free -m | awk '/-/ {print $3}'`
SWAP=`free | awk '/Swap/ {print int($3/$2*100)}'`
     if [ $Men -gt $MAX_mem -o $SWAP -gt $MAX_swap ];then
        echo "Men Warning,memory: $memory ,Mem: $Mem" | mutt -s "$IP Men Warning " rocdk@163.com
     fi

保存后加到crontab里

 代码如下 复制代码

chmod +x /root/soft_shell/check_mem.sh
*/3 * * * * /bin/sh /root/soft_shell/check_mem.sh

时间: 2024-11-16 12:36:29

linux中利用shell监控内存使用率脚本的相关文章

linux中利用shell监控网站状态

今天给自己的网站写了shell监控,避免网站挂了我都不知道,这个脚本是分别检查网页状态和网页连接时间,还可以根据自己的需要进行扩展,很强大. 脚本内容: vi check-web.sh  代码如下 复制代码 #!/bin/sh weblist=/root/weblist.txt for list in `cat $weblist|grep -E -v "#|^$"` do httpcode=`curl -o /dev/null -s -w %{http_code} "$lis

linux中利用shell脚本监控网站状态异常

  最近刚好需要测试一下新建站的稳定性,所以写了个SHELL脚本放到本机(最近换了mac本),能够实时查看你需要监控的WEB页面状态,并发送到指定邮箱.     这里赞一下OS X自带有crontab计划任务,可以直接在本机测试脚本啦^_^    代码如下 复制代码 # vi check_web_alive.sh --------------------------------------------------------------------- #!/bin/bash PATH=/bin:

linux中利用Shell脚本自动提交网站404死链到搜索引擎

  Shell脚本 说做就做,简单的写了个 Shell 脚本就搞定了! 脚本名称:网站死链生成脚本 脚本功能:每天定时分析网站前一天的 nginx 日志, 然后提取状态码为404并且UA为百度蜘蛛的抓取路径,并写入到网站根目录下的 death.txt 文件,用于提交百度死链. 脚本代码: #!/bin/bash #Desc: Death Chain File Script #Author: ZhangGe #Blog: http://你的域名/5038.html #Date: 2015-05-0

linux中利用shell脚本查看占用swap的进程

查看进程在占用swap分区的脚本 命令脚本如下:  代码如下 复制代码 for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr 查看占用swap的进程  代码如下 复制代码 #!/bin/bash   echo -e `d

linux中利用shell定时清理网站缓存数据脚本

经过测试,脚本不成立!! 网站采用了一些方法进行加速(redis\cdn),这样就降低用户访问后端mysql的压力.以及前端速度不太好的问题,对用户请求到的所有页面进行了缓存,既然数据缓存了,解决用户看到的页面是否为最新页面就提上日程,下面这个脚本就诞生了.嘿嘿... Shell #!/bin/bash # Author:Byrd # Version:0.1 # Contact:root#t4x.org # define category for category in basic code d

linux中利用nagios监控机房温度

曲线救国方式,用交换机的温度来判断空调是否断电. 1.expect交互登录交换机读取温度值  代码如下 复制代码 [root@nagios opt]# cat 123.exp #!/usr/bin/expect -f set user user set passwd password spawn telnet 192.168.0.254 expect "Username:" send -- "$userr" expect "Password:"

linux中利用shell实现批量转换文件编码

原理跟简单:递归,iconv  代码如下 复制代码 #!/bin/sh TGT="source_rst" function fe_convert() {     for file in `ls $1`     do         if [ -d $1"/"$file ]         then         fe_convert $1"/"$file         else         mkdir -p `dirname $TGT&q

Linux中利用两个现存文件,生成一个新的文件

Linux中利用两个现存文件,生成一个新的文件的方法 前提条件:每个文件中不得有重复行 1. 取出两个文件的并集(重复的行只保留一份) cat file1 file2 | sort | uniq 2. 取出两个文件的交集(只留下同时存在于两个文件中的文件) cat file1 file2 | sort | uniq -d 3. 删除交集,留下其他的行 cat file1 file2 | sort | uniq –u

shell脚步-linux中的shell命令的使用

问题描述 linux中的shell命令的使用 问题描述:现已知道linux下root目录下的 bmp目录,现在想获取bmp的上一级目录? 例如 root登陆后,进入root的目录现在知道有一个 bmp的目录,现在获取bmp目录的上一个级别目录的绝对路径? 解决方案 运用下面的命令 #cd .. #pwd 两步完成任务. 其实就是根目录 / 啊