引言
如果你的服务器出现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运行状态。