tomcat日志切割和定期删除
tomcat日志切割和定期删除
在tomcat的软件环境中,如果我们任由日志文件无限增长,总有一天会将磁盘占满的(废话)。特别是在日志文件增长速度很快的一些情况下,按日志切割日志文件并删除,就是一件很有必要的工作了,以下介绍了切割日志文件的方法。
第1章 系统环境
1.1 操作系统环境
1
2
3
4
5
6
|
[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环境
1
2
3
4
|
[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环境
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
[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
1
2
3
4
|
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 编译安装
1
2
3
4
5
6
|
[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命令
1
2
3
4
5
6
7
8
9
|
[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)内容:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" |
替换为:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \ 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" & |
(2)内容:
1
2
|
org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_OUT" 2>&1 "&" |
替换为:
1
2
|
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天以前的日志文件。
1
2
|
crontab -e #<==直接输入该命令,添加一个定时任务计划 00 00 * * * /bin/find /opt/gdyy/tomcat7/logs/ - type f -mtime +7 | xargs rm -f &> /dev/null #<==查找tomcat/logs下面的日志文件,并删除7天以前的日志,添加完成后保存退出!! |
1
2
3
|
[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日志切割并定时删除完成!!!
转自:http://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.运行安装 # ...
随机推荐
- JS多重判断 / ES6 includes
Array.includes () 判断数组是否包含某个元素 直接返回true或者false表示是否包含元素,对NaN一样能有有效 const arr = ['1', '2', 'a', 'b' , ...
- linux常用命令:telnet 命令
telnet命令通常用来远程登录.telnet程序是基于TELNET协议的远程登录客户端程序.Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式.它为用户 ...
- Java(1-15)
1.方法参数是引用类型,传递的是内存地址!2.方法的重载特性:在同一个类中,允许方法同名,只要方法的参数列表不同即可!3.Stirng特殊在如果静态数据区中存在,那么不创建新的对象,而是指向这个对象. ...
- python多进程打印字符,加锁(Lock加锁)
先看不加锁的: #coding=utf-8from multiprocessing import Process,Lockimport time def l(num): #lock.acquir ...
- IO(File)
1. 一个File类的对象,表示了磁盘上的文件或目录 2. File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作 3. File对象可用来获取或处理与磁盘文件相关的信息,如:权限,时间,日期 ...
- ELK学习笔记之ELK架构与介绍
0x00 为什么用到ELK 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太 ...
- tf.placeholder使用说明
tf.placeholder(dtype, shape=None, name=None) placeholder,占位符,在tensorflow中类似于函数参数,运行时必须传入值. dtype:数据类 ...
- KEIL中常见问题
1:..\Obj\phone.axf: Error: L6218E: Undefined symbol err (referred from gprs.o). 函数中定义的外部变量,找不到其源 即在g ...
- java使用itex读取pdf,并搜索关键字,为其盖章
导读:近期要做一个根据关键字定位pdf的盖章位置的相关需求,其中关键字可配置多个(包含pdf文档中可能不存在的关键字),当页面显示盖章完成时,打开pdf显示已经损坏. 排查后发现,当itext搜索的关 ...
- Linux 安装、启动和卸载SSH
卸载SSH: 先停掉SSH服务:sudo stop ssh 检查SSH是否停止:ssh localhost 检查SSH是否启动: ps -e|grep ssh 卸载SSH:apt-get --purg ...