监控服务器内存 达到一定的值 自动清理内存并通过qq邮箱发送邮件

(前提是服务器已经可以发送邮件,具体操作看上一篇博客:https://www.cnblogs.com/likecoke/p/14865708.html)

 

1、编写脚本

vim clean_cache.sh

#!/bin/bash
#剩余内存低于40G,开始清理缓存
date=`date +%Y-%m-%d.%H:%M`

ip=`ifconfig em1 | grep "netmask" | awk '{printf $2}'`

free_use=`free | awk '/Mem/{print $4/1024000}' | cut -d "." -f 1`

if [ $free_use -le 50 ];then

echo -e "服务器IP地址: $ip \n时间: $date \n剩余空闲内存为: $free_use G" | mail -v -s "警告!!!" 134@qq.com

echo 3 > /proc/sys/vm/drop_caches

clean_free_use=`free | awk '/Mem/{print $4/1024000}' | cut -d "." -f 1`

echo -e "服务器IP地址: $ip \n时间: $date \n内存已清理完,现剩余空闲内存为: $clean_free_use G" | mail -v -s "已清理完毕!!!" 134@qq.com

fi

2、赋予权限

chmod 777 clean_cache.sh

3、加入计划任务里

每天八点半执行脚本

crontab -e

30 8 * * * source /data/sh/clean_cache.sh

 

这样就完成了

嘻嘻

周杰伦 《可爱女人》2分零六秒的那句 就是我想对你说的话

 

posted @ 2021-06-18 09:49  宝英姐姐  阅读(206)  评论(0编辑  收藏  举报