服务器 定时任务清缓存

  1. 在服务器/tmp目录下建一个脚本文件CleanCache.sh
#!/bin/bash

  #系统分配的区总量 
  mem_total=`free -m | awk 'NR==2' | awk '{print $2}'`

  #当前剩余的大小 
  mem_free=`free -m | awk 'NR==3' | awk '{print $4}'`

  #当前已使用的used大小 
  mem_used=`free -m | grep Mem | awk '{print  $3}'`

  if (($mem_used != 0)); then

  #如果已被使用,则计算当前剩余free所占总量的百分比,用小数来表示,要在小数点前面补一个整数位0 
  mem_per=0`echo "scale=2;$mem_free/$mem_total" | bc`
  DATA="$(date -d "today" +"%Y-%m-%d-%H-%M") free percent is : $mem_per"
  echo $DATA >> /var/log/mem_detect.log
  #设置的告警值为20%(即使用超过80%的时候告警)。 
  mem_warn=0.20

  #当前剩余百分比与告警值进行比较(当大于告警值(即剩余20%以上)时会返回1,小于(即剩余不足20%)时会返回0 ) 
  mem_now=`expr $mem_per \> $mem_warn`

  #如果当前使用超过80%(即剩余小于20%,上面的返回值等于0),释放内存
  if (($mem_now == 0)); then
  sync
  echo 1 > /proc/sys/vm/drop_caches
  echo 2 > /proc/sys/vm/drop_caches
  echo 3 > /proc/sys/vm/drop_caches
  #将release memory OK !写入temp文件夹的memstat.log日志中
  echo $(date +%Y-%m-%d_%H:%M:%S)+"--->release memory OK ! " >>/tmp/memstat.log

  fi
  fi
  1. 切换到 CleanCache.sh 所在目录 输入如下命令 修改文件访问权限
    chmod 777 CleanCache.sh
  2. 配置服务器定时任务
    a. 输入命令:crontab -e
    b. 输入cron表达式保存 :0 6 * * * /tmp/CleanCache.sh(每天早上6点执行一次)
    c. 出现 --> crontab: installing new crontab 表示配置定时任务成功
    d . 查看定时任务列表命令:crontab -l

可以在服务器 /var/log/cron 文件中查看定时任务执行日志(tail -f /var/log/cron -n100)
文章参考:https://www.lannis.cn/doc/server/centos/drop_cache.html
以上。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值