Tomcat catalina-deamon.out 日志切割 每天生成一个文件

Tomcat 使用 jsvc 以守护进程的方式启动(daemon.sh )。这样tomcat自身将会生成另外一个日志文件(catalina-daemon.out),而不是之前的catalina.out,而且catalina-daemon.out日志不会自动切割,会越来越大。

以前遇到过一个问题,就是网站突然访问空白,排查到最后发现是当前进行了网站打包备份操作,有一个超过2GB的压缩包。删掉后立马页面访问正常。具体原因还不清楚。

同时从运维角度和日志分析角度思考,日志文件最好做切割处理,并日志文件不宜过大。

想了想,还是使用linux的crontab的定时任务吧,

编写一个shell脚本,脚本放到 /etc/cron.daily目录下,代码如下:

#!/bin/bash
thedate=`date --rfc-3339=date`
predate=`date +%Y-%m-%d --date="-7 day"`

rmfile="/xxxx/server/tomcat/logs/catalina-daemon.${predate}.out"
outfile="/xxxx/server/tomcat/logs/catalina-daemon.out"
if [ -f ${rmfile} ];then
   rm -f ${rmfile}
fi

if [ -f ${outfile} ];then
   cp ${outfile} /xxxx/server/tomcat/logs/catalina-daemon.${thedate}.out
   echo "" > ${outfile}
fi

exit 0

好了,现在就不用担忧日志文件过大问题了!

同时上面的脚本会每天运行一次,并删除七天之前的日志文件,具体时间,可自己设定。

PS:

http://www.cnblogs.com/xd502djj/archive/2010/12/29/1919478.html

http://www.jb51.net/article/34332.htm

http://www.cnblogs.com/panblack/archive/2013/05/30/split_tomcat_catalina_out.html

时间: 2024-10-07 23:49:22

Tomcat catalina-deamon.out 日志切割 每天生成一个文件的相关文章

python- 按照日期格式(xxxx-xx-xx)每日生成一个文件

请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为2013-09-23.log, 并且把磁盘的使用情况写到到这个文件中. #!/usr/bin/env python #!coding=utf-8 import time import os new_time = time.strftime('%Y-%m-%d') //time.strftime()可以用来获得当前时间,可以将时间格式化为字符串 disk_status = os.popen('df -h').read

spark中saveAsTextFile如何最终生成一个文件

一般而言,saveAsTextFile会按照执行task的多少生成多少个文件,比如part-00000一直到part-0000n,n自然就是task的个数,亦即是最后的stage的分区数.那么有没有办法最后只生成一个文件,而不是成百上千个文件了?答案自然是有办法. 在RDD上调用coalesce(1,true).saveAsTextFile(),意味着做完计算之后将数据汇集到一个分区,然后再执行保存的动作,显然,一个分区,Spark自然只起一个task来执行保存的动作,也就只有一个文件产生了.又

每日生成一个文件

要求: 请按照这样的日期格式(xxxx-xx-xx)每日生成一个文件,例如今天生成的文件为)2017-07-05.log, 并且把磁盘的使用情况写到到这个文件中,(不用考虑cron,仅仅写脚本即可) #!/bin/bash cd /root s=`date +%F` file=$s.log df -h >$file

tomcat 使用log4j进行日志切割

因为tomcat catalina.out日志不会自己主动切割, 一.日志切割所需包在附近中 1. 压缩包中有三个jar包: log4j-1.2.16.jar tomcat-juli-adapters.jar tomcat-juli.jar 说明:假设不是tomcat7版本号,请去官网下载相应版本号的tomcat-juli.jar,tomcat-juli-adapters.jar类包. 下载地址:http://www.apache.org/dist/tomcat  在相应版本号中的bin/ext

6月8日任务(12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件)

课程名称:12.10?Nginx访问日志笔记内容: [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf定义日志格式combined_realip:日志格式名字,可以写任意,但是后面应用都要写这个log_format ys '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_refer

Nginx的访问日志、Nginx的日志切割、Nginx静态文件不记录日志和过期时间

Nginx的访问日志 Nginx的日志切割 Nginx静态文件不记录日志和过期时间 原文地址:http://blog.51cto.com/13515599/2086909

12.10 Nginx访问日志 12.11 Nginx日志切割 12.12 静态文件不记录日志和过期

12.10 Nginx访问日志 [[email protected] vhost]# vim test.com.conf除了在主配置文件nginx.conf里定义日志格式外,还需要在虚拟主机配置文件中增加access_log /tmp/test.com.log martin;这里的combined_realip就是在nginx.conf中定义的日志格式名字 [[email protected] vhost]# /usr/local/nginx/sbin/nginx -tnginx: the co

nginx访问日志配置+日志切割+不记录静态文件日志+设置静态文件过期时间

nginx访问日志 查看nginx.conf文件 vim /usr/local/nginx/conf/nginx.conf 中间有一行是定义log的格式 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' ' $host "$request_uri" $status' ' "$http_referer" "$http_user_agent"';

使用IO流将数据库中数据生成一个文件,结果使用Notepad++打开部分数据结尾出现NUL

场景描述: 项目中通过java代码中从数据库中查询一系列数据,对数据做相应处理,然后通过字符流将数据写如一个新生成的文件中,将该项目部署在linux服务器上,最后生成的文件拿到本地使用notepad++打开会在部分数据末尾出现NUL 排查原因: NUL在C语言中是一个特殊字符常量'\0',空字符 在linux中处理字符串写入,每行字符串结尾如果是空字符,linux就会用'\0'表示 解决方案: 使用该文件时将NUL替换为“ ”空字符 public static String trimnull(S