linux定时清除缓存

引言

如果你的服务器出现cache过多的情况或者服务器内存不足的情况,请参考这篇。

1、创建清除缓存shell执行脚本:cleanCache.sh

#!/bin/bash

#每天早上9点清除一次缓存

echo "开始清除缓存"

sync;sync;sync #写入硬盘,防止数据丢失

sleep 10 #延时10秒

echo 3 > /proc/sys/vm/drop_caches

注意:记住你保存脚本的文件夹

这里清除缓存有3个级别,看你需求选择

`echo 1 > /proc/sys/vm/drop_caches`, 只清除页面缓存;

`echo 2 > /proc/sys/vm/drop_caches`,清除目录项和inode;

`echo 3 > /proc/sys/vm/drop_caches`,清除页面缓存、目录项和

2、将cleanCache加入定时任务

echo '0 */2 * * * sh /home/admin/cleanCache.sh' >> /var/spool/cron/root

或者

通过命令 `crontab -e` ,添加完任务

其他查看定时任务命令:

`crontab -l` 表示列出所有的定时任务

`crontab -r` 表示删除用户的定时任务,当执行此命令后,所有用户下面的定时任务会被删除,执行crontab -l后会提示用户:“no crontab for admin” ,

也可以通过`crontab --help`查看帮助

定时任务未执行查看:

首先,执行`service crond status`查看crond运行状态(我因为这个问题折腾了很久,结果发现状态是停止的!),如果显示 crond (pid ****) is running...,则表示运行正常,如果显示是停止的(stop),则打开此服务,`service crond start`,如果显示command not found,则表示没有按照此服务,则需要安装,安装执行代码为:

yum install vixie-cron

yum install crontabs

经过运行以上两行代码,即可完成安装,然后再检查crond运行状态。

你可能感兴趣的:(linux定时清除缓存)