惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
J
Java Code Geeks
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
腾讯CDC
博客园 - 司徒正美
B
Blog RSS Feed
博客园 - 三生石上(FineUI控件)
I
InfoQ
N
Netflix TechBlog - Medium
L
LangChain Blog
博客园_首页
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Tailwind CSS Blog
MyScale Blog
MyScale Blog
美团技术团队
The Cloudflare Blog
爱范儿
爱范儿
Stack Overflow Blog
Stack Overflow Blog
博客园 - 聂微东
H
Help Net Security
Martin Fowler
Martin Fowler
V
Visual Studio Blog

博客园 - XiaoK

在centOS linux上使用chrony搭建NTP时间同步服务器 centOS端口映射命令 java gc日志的基本知识 将libstdc++.so.6升级到libstdc++.so.6.0.29 修改rabbitMQ3.8默认端口号 一个项目用的linunx后台服务配置 nginx负载均衡的配置 linux配置nginx开机启动 vi编辑器常用命令 解决setroubleshootd进程占用内存、cpu高 centOS linux常用操作命令 Internet Explorer 安全区域注册表项说明 获取WPF控件句柄的方法 当远程访问mysql时,mysql会解析域名,会导致访问速度很慢 创建鼠标指针图标 [转]c#消息处理 c#实现渐变色 OpenFileDialog组件会更改应用程序默认目录问题 winForm中将控件背景设为透明色
定时清除linux内存buff/cache缓存
XiaoK · 2022-11-29 · via 博客园 - XiaoK

1.创建脚本文件            

2.在文件中输入以下脚本

#!/bin/bash
#每两小时清除一次内存buff/cache缓存
echo "开始清除缓存"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches

3.设置脚本权限

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格式的文件行尾为$。

  可以通过以下方式解决:

     编辑文件: vim filename; 执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。

 7.查看crontab运行日志

有时候发现定时任务没有按预期执行,可以能过查看日志发现执行相关的问题。

一般来说 ,crontab的运行日志可以在/var/log/cron.log文件中。

如果没有/var/log/cron.log文件,试一下/var/log/cron

crontab为什么有时候找不到日志?
需要通过配置打开crontab的日志记录功能。

通过以下方式开启crontab的日志记录功能。

sudo vim /etc/rsyslog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
#重启rsyslog
#sudo /etc/init.d/rsyslog restart
sudo service rsyslog restart #重启rsyslog
sudo service cron restart #重启cron程度

sudo service crond restart #重启crond。 在有的系统中,定时任务程序名称是crond
打开日志记录功能后,就可以看到相应的crontab的执行日志了。