为了更方便的知道服务器上内存使用情况,并根据内存使用大小来重启服务,这里我只整了故障报警,如果想要自动重启服务的话,就要大家自己去修改了.
脚本内容:
写出来了,不太好看, 也不太会用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 top -b -n 1 |sed -n '8,$'p > top.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