crontab 定时执行任务的详细分析(附演示 | 定时空 Tomcat 实践) - 3. 实践
最编程
2024-06-08 15:58:17
...
以定期删除Tomcat日志文件为基础
由于tomcat在运行时无法删除logs文件,所以需要单独弄个脚本
错误版本为上述Demo的操作
3.1 错误版本
- 文件编辑:
crontab -e
添加定时任务:
0 0 * * * find /usr/local/tomcat/apache-tomcat-7.0.85/logs -mtime +1 -exec rm -rfv {} \;
0 0 * * * find /usr/local/tomcat/apache-tomcat-7.0.85/temp/bdf2-export-temp/ -mtime +1 -exec rm -rfv {} \;
截图如下:
确保crontab 任务已正确配置,可以使用以下命令查看当前用户的定时任务:crontab -l
为了方便后续处理,也可使用如下方式做一个归类:
在某个位置设置一个脚本文件,记住脚本文件名以及路径:
#!/bin/bash
export LANG=zh_CN
#tomcat日志文件路径
export WEB_TOMCAT1=/usr/local/tomcat/apache-tomcat-7.0.85/logs
echo > ${WEB_TOMCAT}/catalina.out
find ${WEB_TOMCAT}/* -mtime +7 -type f -exec rm -f {} \;
截图如下:
设置脚本可执行:chmod a+x cleanTomcatlog.sh
编辑用户的 crontab 文件:crontab -e
添加定时任务:30 04 * * * /usr/local/script/cleanTomcatlog.sh
3.2 正确版本
编制正确的删除脚本:(定期删除一天前的日志)
-mtime +1表示查找超过一天前修改的文件。如果你需要精确匹配前一天的文件,可以使用-mtime 1。但是,通常情况下,-mtime +1已经可以删除超过一天的旧文件
#!/bin/bash
logs_path="/usr/local/tomcat/apache-tomcat-7.0.85/logs"
temp_path="/usr/local/tomcat/apache-tomcat-7.0.85/temp/bdf2-export-temp"
# 定时清理超过1天的Tomcat日志脚本
find $logs_path -mtime +1 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +1 -name "catalina.out" -exec rm -rf {} \;
>$logs_path/catalina.out;
# 定时清理超过1天的临时导出文件
find $temp_path -mtime +1 -name "*.xls" -exec rm -rf {} \;
为了让其定期执行,正确还是结合crontab来操作:crontab -e
截图如下:
对于文件的匹配规则,最好观察下格式
有些可能多个
find $logs_path -mtime 1 -name "catalina.out.*" -exec rm -rf {} \;
推荐阅读
-
了解YUV和RGB的不同之处及其对YUV444、YUV422、YUV411和YUV420的介绍
-
踞觑yuv422、yuv420和yuv444间的差异
-
每周总结20130814——Android NDK环境的搭建和使用,YUV420SP格式图像的处理
-
二、代码实现YUV420图像的水平拼接
-
重新表达该标题:编码格式YUV420的解释
-
转换NV12为YUV420格式的百转工具
-
研究针对 YUV420 颜色空间的深度图像压缩
-
解密Android Bitmap转I420的难题,附图文详解YUV420数据格式
-
互相转换的BGRA、RGBA和YUV420
-
如何实现neon优化的yuv420转rgb24汇编代码,iOS/Android可用的具体操作步骤