监控服务器内存 达到一定的值 自动清理内存并通过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分零六秒的那句 就是我想对你说的话