tomcat日志切割和定期删除(转载)
tomcat日志切割和定期删除
在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。
第1章 系统环境
1.1 操作系统环境
[root@server1 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@server1 ~]# uname -r
2.6.32-431.el6.x86_64
[root@server1 ~]# uname -m
x86_64
1.2 jdk环境
[root@server1 ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Server VM (build 24.65-b04, mixed mode)
1.3 tomcat环境
[root@server1 ~]# /opt/gw/tomcat7/bin/catalina.sh version
Using CATALINA_BASE: /opt/gw/tomcat7
Using CATALINA_HOME: /opt/gw/tomcat7
Using CATALINA_TMPDIR: /opt/gw/tomcat7/temp
Using JRE_HOME: /usr/local/jdk1.7
Using CLASSPATH: /opt/gw/tomcat7/bin/bootstrap.jar:/opt/gw/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.57
Server built: Nov 3 2014 08:39:16 UTC
Server number: 7.0.57.0 #<==tomcat-7.5.57版本
OS Name: Linux
OS Version: 2.6.32-431.el6.x86_64
Architecture: i386
JVM Version: 1.7.0_67-b01
JVM Vendor: Oracle Corporation
第2章 切割工具cronolog
2.1 cronolog的介绍
Cronolog是一个过滤器程序,它从标准输入读取日志文件条目,并将每个条目写入由文件名模板和当前日志所指定的输出文件中。 当扩展文件名改变时,关闭当前文件,并打开一个新文件。 Cronolog是为了与Apache等Web服务器一起使用,将访问日志分为每日或每月日志。
2.2 cronolog的安装
2.2.1 下载cronolog
cd /usr/local/src
wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz
[root@kafka01 src]# md5sum cronolog-1.6.2.tar.gz
a44564fd5a5b061a5691b9a837d04979 cronolog-1.6.2.tar.gz #<==cronolog的MD5码
2.2.2 编译安装
[root@kafka01 src]# tar xf cronolog-1.6.2.tar.gz
[root@kafka01 src]# cd cronolog-1.6.2
[root@kafka01 cronolog-1.6.2]# ./configure #<==编译,此前先确保安装cmake等编译工具
[root@kafka01 cronolog-1.6.2]# make && make install #<==安装
[root@kafka01 cronolog-1.6.2]# which cronolog #<==检查是否安装成功,如果有结果则安装成功
/usr/local/sbin/cronolog
2.3 cronolog命令
[root@server1 ~]# which cronolog
/usr/local/sbin/cronolog #<==cronolog命令的存放路径
使用man帮助命令查看cronolog使用语法:
[root@server1 ~]# man cronolog
NAME
cronolog - write log messages to log files named according to a template
SYNOPSIS
cronolog [OPTION]... template
第3章 配置tomcat日志切割
配置日志切割,只需修改配置文件catalina.sh(如果windows则是catalina.bat,这里不介绍windows情况)即可。大概在catalina文件中的第380行和第390行左右,修改如下:
(1)内容:
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
替换为:
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
(2)内容:
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
替换为:
org.apache.catalina.startup.Bootstrap "$@" start \
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
配置完成后,重启tomcat即可!!!!
第4章 定时删除过期日志
在这里直接使用linux自带的crontab定时任务工具,设置每天凌晨00:00执行删除任务,删除7天以前的日志文件。
crontab -e #<==直接输入该命令,添加一个定时任务计划
00 00 * * * /bin/find /opt/gdyy/tomcat7/logs/ -type f -mtime +7 | xargs rm -f &>/dev/null #<==查找tomcat/logs下面的日志文件,并删除7天以前的日志,添加完成后保存退出!!
[root@server1 ~]# crontab -l #<==查看定时任务计划
#remove gw log 7 days ago by liutao at 2018-02-08
00 00 * * * /bin/find /opt/gw/tomcat7/logs/ -type f -mtime +7 | xargs -i mv {} /data/bak/gw_log/ &>/dev/null
tomcat日志切割并定时删除完成!!!
转载至:https://blog.51cto.com/13178102/2070532
原作者:流光给给
tomcat日志切割和定期删除(转载)的更多相关文章
- tomcat日志切割和定期删除
tomcat日志切割和定期删除 在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话).特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很 ...
- centos记录uptime,tomcat日志切割,远程拷贝日志脚本
1.uptime日志脚本(每天记录) #!/bin/sh dir=/tmp/uptime_log process=`ps -ef|grep $|grep -v "grep" |gr ...
- 脚本:Tomcat日志切割
Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...
- Tomcat 修改日志输出配置 定期删除日志
tomcat的下的日志catalina.out 和 qc.log疯狂增长,以下是解决办法 我生产环境tomcat版本 Server version: Apache Tomcat/7.0.35 Serv ...
- tomcat日志切割脚本
tomcat日志每俩小时切割的脚本如下(这是用定时任务来完成的,此方法无需重启tomcat): time=$(date +%H) end_time=`` a=$end_time BF_TIME=$(- ...
- tomcat 日志切割 catalina.out
在实际生产环境中,tomcat的 catalina.out日志默认是不切割的,由于看起来很不方便,以及在备份等方面都比较麻烦.是时候切割该文件了. 环境说明 centos 7.3 tomcat 8.5 ...
- linux运维、架构之路-tomcat日志切割工具 logrotate
一.Logrotate简介 1.Logrotate实际就是对日志进行切割的小工具,他通过让用户来配置规则的方式,检测和处理日志文件.配合Cron可让处理定时化:2.Logrotate预制了大量判断条件 ...
- Tomcat日志切割
下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装 # ...
- 【Tomcat】Tomcat日志切割
下载并解压缩 cronolog # tar zxvf cronolog-1.6.2.tar.gz 2.进入cronolog安装文件所在目录 # cd cronolog-1.6.2 3.运行安装 # ...
随机推荐
- ModelValidator基于元数据的验证
ModelValidator主要是应用在ModelMetadata元数据的类型上或类型属性上.它是验证的基础类型,所有的ModelValidatorProviders.DataAnnotationVa ...
- 阿里云oss服务通用类
在webconfig中配置信息 <?xml version="1.0" encoding="utf-8"?><configuration> ...
- python实现音乐播放器
python实现音乐播放器 模块:pygame 模块:time Python 布尔循环实例: import time import pygame muxi_k = """ ...
- .net core Error -4090 EADDRNOTAVAIL address not available”
问题原因:IP地址错误或者网络未开
- Git文件状态
在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. Git库所在的文件夹中的文件大致有4种状态: Untracked:未 ...
- C++:运算符重载
运算符重载是一种形式的C++多态.运算符重载将重载的概念扩展到运算符上,允许赋予C++运算符多种含义.实际上,很多C++运算符已经被重载.eg:将*运算符用于地址,将得到存储在这个地址中的值,将他用于 ...
- python特殊的数据类型
lsit 列表是一种有序的数据集合,允许数据类型不一致! 1.定义:l=[1,"s",'2',True,u"您好"] 或者 l=list() 2.访问:l[0] ...
- gdb调试正在运行的程序
1.ps aux | grep mxx.exe 查找可执行程序的进程id 2.gdb attach pid attach可执行程序的进程pid 3.continue/c 或者continue or c ...
- FineBI学习系列之FineBI的ETL处理(图文详解)
不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-48.html 目录: 1. ...
- javascript 获取当前浏览器窗口宽高
获取当前浏览器窗口宽度:document.documentElement.clientWidth;获取当前浏览器窗口高度:document.documentElement.clientHeight; ...