cronolog日志切割catalina.out

时间:2023-12-20 12:55:50

cronolog日志切割catalina.out

(一)解压安装cronolog

1:wget  https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz  //下载cronolog

2:tar zxf cronolog-1.6.2.tar.gz     //解压cronolog

3:cd cronolog-1.6.2             //进入安装目录

4:./configure && make && make install     //编译安装

5:which cronolog               //执行后可以看到/usr/local/sbin/cronolog  安装的目录

(二)修改catlina.sh配置文件

1:vim catalina.sh

2:将:

if [ -z "$CATALINA_OUT" ] ; then

  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi

改为:

if [ -z "$CATALINA_OUT" ] ; then

  CATALINA_OUT="$CATALINA_BASE"/logs/%Y-%m-%d.catlina.out

fi

3:将:

touch "$CATALINA_OUT"

改为:

#touch "$CATALINA_OUT"

4:将:

org.apache.catalina.startup.Bootstrap "$@" start \

>> "$CATALINA_OUT" >& "&"

改为

org.apache.catalina.startup.Bootstrap "$@" start >& \

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

5:将:

org.apache.catalina.startup.Bootstrap "$@" start \

>> "$CATALINA_OUT" >& "&"

改为:

org.apache.catalina.startup.Bootstrap "$@" start >& \

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

第4步与第5步一个是if里的一个是else里的不一样需要全改

然后重启tomcat就可以生成一个xxxx-xx-xx.catlina.out的文件。

定时清理日志:

想要写一个Shell脚本,定期清理掉久远的日志文件 ,避免磁盘不断被占用。

touch auto_del_log.sh
chmod +x auto_del_log.sh vi auto_del_log.sh #!/bin/bash
find /home/tomcat8/logs/ -type f -mtime + -name “*.out” -exec rm -rf {} \;
find /home/tomcat8/logs/ -type f -mtime + -name “*.out” -exec rm -rf {} \;

参数含义:

find用来在指定目录下查找文件

/home/tomcat8/logs/  查找路径

-type 类型 f 普通文件 l 符号连接 d 目录 c 字符设备 b 块设备 s 套接字p Fifo

-mtime <24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;

cronolog日志切割catalina.out

{} 用于与-exec选项结合使用来匹配所有文件,然后会被替换为相应的文件名

http://47.106.124.85/?id=3

windows删除日志

forfiles /p " D: \Tomcat 6.0\logs " /s /m *.log /d -7 /c "cmd /c del @path"

forfiles /p " D: \Tomcat 6.0\logs " /s /m *.txt /d -7 /c "cmd /c del @path"

加入计划任务中执行

语法
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c
Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
参数
/p Path
指定Path ,表明要从哪里开始搜索。默认的文件夹是当前工作目录,该目录通过键入句号(.) 指定。
/m SearchMask
按照SearchMask 搜索文件。默认的SearchMask
是*.* 。
/s
指示forfiles 在子目录中搜索。
/c Command
在每个文件上运行指定的Command 。带有空格的命令字符串必须用引号括起来。默认的Command 是"cmd /c echo @file" 。
/d [{+ | - }] [{MM / DD / YYYY | DD }]
选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM /
DD / YYYY 是指定的日期,DD 是当前日期减去DD 天。如果未指定+ 或- ,则使用+ 。DD 的有效范围是0 -
32768。
/?