Centos添加定时任务

Centos添加定时任务

前言

在狗尾草的网站中,为了更准确的定位问题,作者其实给后端接口做了日志输出的。

logs.png

如图所示上述logs目录下的所有文件为网站的所有接口的日志输出。

如果有错误的话,可以更快的定位到问题。但是如果没有问题的。没进行一个接口日志文件的缓存的话,那文件日益增多,访问量小的话,到没有什么影响,但是如果访问量大的话,服务器的磁盘很快就会被占满。

因此定期的删除这些日志文件是必须要做的事情。如果来实现Centos下定时器任务的添加是本文章主要讲述的内容。

新建脚本

在任意的目录下新建定时脚本的文件,这里作者是放在了对应的项目中

后缀为.sh的文件clearLog.sh

作者将他放在了project目录下

pwd // 进入项目目录查看项目目录所在路径
cd /home/apache-tomcat-8.5.37/webapps/ROOT/project
touch clearLog.sh // 新建
ls // 查看

编辑脚本

find /home/apache-tomcat-8.5.37/webapps/ROOT/project/bgwhite-blank/logs/* ctime 1 -exec rm -rf {} \;

这段code的意思是删除logs目录下一天前创建的所有文件

授权

chown 777 clearLog.sh
ll /home/apache-tomcat-8.5.37/webapps/ROOT/project/clearLog.sh
# 查看是添加的权限是否生效

添加定时任务

crontab -e

task.png

在已有的脚本后面添加上上述第二行的代码

0 6 * * * /home/apache-tomcat-8.5.37/webapps/ROOT/project/clearLog.sh
# 每天凌晨6点0分执行clearLog.sh脚本

我们也可以选择不创建脚本文件,直接添加定时脚本到定时任务中。

0 6 * * * find /home/apache-tomcat-8.5.37/webapps/ROOT/project/bgwhite-blank/logs/* ctime 1 -exec rm -rf {} \;
# 每天凌晨6点删除logs下的所有文件

重启定时任务

/bin/systemctl restart crond.service

补充

# 查看现有定时任务
crontab -l
# 编辑定时任务
crontab -e
# 查看定时器的状态(2种方式)
service crond status
/bin/systemctl status crond.service
# 启动定时任务
service crond start(2种方式)
/bin/systemctl start crond.service
# 停止定时任务
service crond stop(2种方式)
/bin/systemctl stop crond.service
# 重启定时任务
service crond restart(2种方式)
/bin/systemctl restart crond.service

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!