1.创建脚本文件
vim clean.sh
2.在文件中输入以下脚本
#!/bin/bash
#每两小时清除一次内存buff/cache缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches
3.设置脚本权限
chmod +x clean.sh
4.添加任务
crontab -e #进入文件输入以下代码,然后保存(按Esc键,再输入:wq 保存文件)
# 每两小时执行一次
0 */2 * * * /opt/clean.sh
5.设置crond启动以及开机自启
systemctl start crond.service
systemctl enable crond.service
6.异常处理
如果执行脚本报 以下错误:/bin/bash^M: bad interpreter: No such file or directory。
是因为在windows下创建编辑的shell脚本是dos格式的,而linux却是只能执行格式为unix格式的脚本,所以识别不了。
通过 cat -A filename 命令查看脚本文件是dos格式还是unix格式,dos格式的文件行尾为^M$ ,unix格式的文件行尾为$。
可以通过以下方式解决: