Linux下解决centos频繁死机的缓存清理脚本

之前某个地市有台服务器出现问题,但是上面部署的环境比较复杂,暂时不可以更换服务器,所以写个脚本,加入定时任务解决缓存过快消耗的问题

脚本如下:

#!/bin/bash

used=`free -g | awk 'NR==2' | awk '{print $3}'`
free=`free -g | awk 'NR==2' | awk '{print $4}'`

echo "===========================" >> /var/log/mem.log
date >> /var/log/mem.log
echo "Memory usage | [Use:${used}MB][Free:${free}MB]" >> /var/log/mem.log

if [ $free -le 10 ] ; then
                sync && echo 1 > /proc/sys/vm/drop_caches
                sync && echo 2 > /proc/sys/vm/drop_caches
                sync && echo 3 > /proc/sys/vm/drop_caches
                echo "OK" >> /var/log/mem.log
else
                echo "Not required" >> /var/log/mem.log



脚本写完后命名为bk.sh,我们将脚本上传的到服务器上某个目录,这里我上传到/home/目录下
首先给freemem.sh赋可执行权限:

cd /home/
chmod -u+x bk.sh


添加定时任务:
在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。
比如我们现在设置的是每天 晚上23点0分执行

0 23 * * * sh /home/freemem.sh


存盘退出后,在命令行输入 service crond restart  ; 提示如下说明重启定时任务成功

查看crontab的日志
日志文件为/var/log/cron

tail -f /var/log/cron

找到对应时间,是否执行指令
这种方式只能看到是否执行,但是并无法确定是否执行成功,我们可以自己看一下程序是否达到执行效果确认

原创文章 24 获赞 21 访问量 698

猜你喜欢

转载自blog.csdn.net/zhangbinch/article/details/105869592
今日推荐