定时清理缓存

编写脚本

#! /bin/sh
# 已使用的
used=`free -m | awk 'NR==2' | awk '{print $3}'`
# 空闲的
free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "===========================" >> /home/mem/mem.log
date >> /home/mem/mem.log
echo "Memory usage before | [Use:${used}MB][Free:${free}MB]" >> /home/mem/mem.log
# 当空闲内存小于等于4g时,则清理内存
if [ $free -le 4096 ] ; 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
  used_ok=`free -m | awk 'NR==2' | awk '{print $3}'`
  free_ok=`free -m | awk 'NR==2' | awk '{print $4}'`
  echo "Memory usage after | [Use:${used_ok}MB][Free:${free_ok}MB]" >> /home/mem/mem.log
  echo "OK" >> /home/mem/mem.log
else
  echo "Not required" >> /home/mem/mem.log
fi
exit 1

加入定时任务

crontab -e

加入(每天凌晨两点执行一次)

1 2 * * * /home/mem/clearMemCache.sh

 

 查看定时器

crontab -l

 

 

ps:时间配置说明

43 21 * * *  每天的21:43 执行

15 05 * * *    每天的05:15 执行

0 17 * * * 每天的17:00 执行

0 17 * * 1 每周一的 17:00 执行

0,10 17 * * 0,2,3 每周日,周二,周三的 17:00和 17:10 执行

0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行

0 0 1,15 * 1 毎月1日和 15日和 一日的 0:00 执行

42 4 1 * *     毎月1日的 4:42分 执行

0 21 * * 1-6   周一到周六 21:00 执行

0,10,20,30,40,50 * * * * 每隔10分 执行

*/10 * * * *        每隔10分 执行

* 1 * * *         从1:0到1:59 每隔1分钟 执行

0 1 * * *         1:00 执行

0 */1 * * *        毎时0分 每隔1小时 执行

0 * * * *         毎时0分 每隔1小时 执行

2 8-20/3 * * *      8:02,11:02,14:02,17:02,20:02 执行

30 5 1,15 * *       1日 和 15日的 5:30 执行

 

posted @ 2019-12-03 10:04  suruozhong  阅读(780)  评论(0编辑  收藏  举报