定期删除TOMCAT日志文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定期删除TOMCAT日志文件相关的知识,希望对你有一定的参考价值。

TOMCAT日志文件一段时间会累积到几十个G,我想做一个定期删除某个时间的功能,比如每个月底删除上个月的日志文件,保持至少要保留一个月的日志文件,TOMCAT能不能怎么样配置达到这样的效果? 或者批处理能不能动态的控制删除日期,对批处理不了解,有什么比较好的办法,请大家帮下忙,谢谢了

  定期删除TOMCAT日志文件,参考代码如下:

#!/bin/bash  
#清理tomcat日志的脚本  
  
#日志大小限制设置( 1M 字节),超出即清理  
LOG_FILE_SIZE=1024000  
  
#定义日志文件位置  
logs=(/srv/tomcat6/logs/catalina.out /usr/share/tomcat6/logs/catalina.out)  
  
for ff in "$logs[@]";   
do  
  
#文件大小  
size=0  
if [ -f $ff ]   
then   
        #取得日志文件大小值  
        size=`ls -l $ff |awk \'print $5\'`  
fi  
  
#进行判断  
if [ "$size"0 -gt "$LOG_FILE_SIZE"0 ]  
then  
        echo 开始清理: "$ff" , 大小= "$size"  
        true > $ff  
fi  
  
done  
  
#清理完成  
echo 清理日志完成!
参考技术A @echo off

del /f /s /q "tomcat_path\logs\*.*"

echo. & pause
参考技术B tomcat 日志切割,百度关键词本回答被提问者采纳

定期删除IIS日志文件

   服务器中由于监控的需要会经常生成很多日志文件,比如IIS日志文件(C:\inetpub\logs\LogFiles),一个稍微有流量的网站,其日志每天可以达到上百兆,这些文件日积月累会严重的占用服务器磁盘空间。有必要对他们进行定期删除。dos批处理程序如下:

:: 清理IIS日志文件
:: 备份MySql数据库
@echo off
title 清理IIS日志文件
 
:: IIS日志文件目录
set log_dir="C:\inetpub\logs\LogFiles"
 
:: 保留日志天数
set bak_dat=15
 
:: 删除日志文件
forfiles /p %log_dir% /S /M *.log /D -%bak_dat% /C "cmd /c echo 正在删除@relpath 文件… & echo. & del @file"

 

将上面的代码保存为deliislog.bat批处理文件,然后在服务器的控制面板的计划任务中添加这个批处理程序,让其每天执行一次就行了。

以上是关于定期删除TOMCAT日志文件的主要内容,如果未能解决你的问题,请参考以下文章

tomcat日志切割和定期删除

Tomcat 日志清除(含扩展AccessLogValve)

Tomcat日志文件catalina.out文件过大问题

Tomcat 日志设置 减少不必要的日志,针对tomcat日志过大的优化

Tomcat 日志分割.

定时删除tomcat日志报错