0
点赞
收藏
分享

微信扫一扫

Centos7设置定时清除buff/cache的脚本

四月Ren间 2023-05-24 阅读 85

注意:此方法不能用于解决统物理内存占用过高,导致部分服务被强制关闭的问题

用root用户创建定时任务

切换到root用户

su - root

创建脚本文件

touch cleanCache.sh

添加如下内容:

vim cleanCache.sh

#!/bin/bash

#每两小时清除一次缓存

echo "开始清除缓存"

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

sleep 10 #延迟10秒

echo 3 > /proc/sys/vm/drop_caches

创建定时任务

crontab -e  //弹出配置文件

添加如下内容:(按需修改)

0 */2 * * * ./cleanCache.sh   (时间格式见下)

保证crond启动以及开机自启

systemctl start crond.service

systemctl enable crond.service

查看buff/cache情况

free -m

查看定时任务是否被执行

crontab -l

关于任务时间格式

cron 配置计划任务的书写格式

分钟 小时 日 月 周 [用户名] 命令

说明:


第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59

第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23

第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31

第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12

第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。

每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;

第七段应该定义的是:执行的命令和参数。

注:其中用户名可是省略,用户名定义的是程序用哪个用户来执行,比如mysql服务器,我们可以定义成以mysql用户来启动、停止、重新 启动,这时要写上用户名;不过对于cron来说意义不是太大,因为每个用户都有自己的cron配置文件。有些程序的启动必须用到root用户,这时我们就 可以修改root用户的cron配置文件就行了。在每个用户的配置文件中,不必指定用户名。


我们可以把计划任务写在全局性配置文件中,如果您想把一个计划放入全局性配置文件中,就得改发行版所对应的cron全局配置文件,比如Fedora 5的全局性配置文件是/etc/crontab文件;


每个用户也能定义自己的cron配置文件,用crontab -e 命令来定义;


举一例:让机器在每天8点30分重新启动;


关于时间格式中有7个字段。我们可以直接更改或者添加,当然这是系统任务调用。举个例子,比如我在每天的早上8点30分重新启动机器,就可以在

/etc/crontab中加入下面的两句,第一句就是注释了。以#号开始,后面写一个自己能知道这是什么任务的备注;

举例:

# reboot OS

30 8 * * * root /sbin/reboot

第一段应该定义的是:分钟,表示每个小时的第几分钟来执行。范围是从0-59

第二段应该定义的是:小时,表示从第几个小时来执行,范围是从0-23

第三段应该定义的是:日期,表示从每个月的第几天执行,范围从1-31

第四段应该定义的是:月,表示每年的第几个月来执行,范围从1-12

第五段应该定义的是:周,表示每周的第几天执行,范围从0-6,其中 0表示星期日。

每六段应该定义的是:用户名,也就是执行程序要通过哪个用户来执行,这个一般可以省略;

第七段应该定义的是:执行的命令和参数。


对比上面的例子就知道,30是不是分钟??8是不是小时?如果有*代表的地方,表示全部,也就是说,每个月,每天,每星期都要执行。root 表示用root用户执行,命令是/sbin/reboot ,也就是说,系统在每天 8点30分重新启动;


我们可以把每天8点30分重新启动的计划任务写入cron全局性配置文件中,也可以定义在root用户自己的cron配置文件中。如果定义在 root自己的配置文件,请用root身份来执行 crontab -e 来修改配置文件;crontab -e 进入修改配置文件的过程,其实和vi的用法一样,请参看vi 的用法:《文件编辑器 vi》


让配置文件生效:如果让配置文件生效,还得重新启动cron,切记,既然每个用户下的cron配置文件修改后。也要重新启动cron服务器。




举报

相关推荐

Centos7 设置定时任务

centos7 清除redis缓存

CentOS7 DNS 设置

Linux CentOS7设置时区

centos7设置中文语言

0 条评论