注:本文转载自 https://blog.csdn.net/weixin_38860565/article/details/81633234

Cronolog 分割 Tomcat8 Catalina.out日志。
默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个catalina.out,这样日积月累就会造成.out日志越来越大,给管理造成了不便,为了实现像其它日志文件一样按日期归档,这里我采用cronolog来完成日志分割。

一、安装Cronolog
YUM 安装

yum install cronolog
或者使用下载压缩包安装

1. 下载(最新版本)
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2. 解压缩
tar zxvf cronolog-1.6.2.tar.gz

3. 进入安装目录
cd cronolog-1.6.2

4. 运行安装
./configure
make
make install

5. 查看是否安装成功
which cronolog
结果:/usr/local/sbin/cronolog (这个是cronolog的安装路径,后面会用到)
如果上面两种下载方式都受到网络限制,可以去自由软件库下载 http://download.chinaunix.net/download.php?id=3457&ResourceID=1851

二、修改Tomcat下bin/catalina.sh文件
修改要分隔的Tomcat的日志下bin/catalina.sh文件,要修改的在290行。修改前先拷贝一份。

1. cp catalina.sh catalina.sh.bak
2. vim catalina.sh -c 417 或者 vim catalina.sh之后:417 (进入到catalina.sh的第417行。)
下面为需要修改的内容:标红的是要修改的区域

修改为:
shift
# touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1\
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

else
eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start 2>&1\
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

fi

修改后,重启Tomcat。可以看到更改已经生效。(看到catalina.out出现了catalina.2017-12-19.out等按照日期分类的输出文件说明配置成功)。

如果配置不成功,肯定是修改的位置不对。
本文后也附有catalina.out修改后的完整内容,直接复制粘贴,替换掉catalina.out内的内容即可。

三、shell利用crontab自动清除日志
linux下运行程序有时会产生大量的记录日志,以便排除隐藏很深的问题,但时间一长就会占用很多的磁盘空间。每天手动清除也比较麻烦,因此一个定时脚本执行是很有必要的。

3.1 删除文件shell命令详解

find 对应目录 -mtime +天数 -name "文件名" -exec rm -rf {} \;

例子:
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

说明:将/opt/soft/log/目录下所有30天前带".log"的文件删除。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+30:查找30天前的文件,这里用数字代表天数;
"*.log":希望查找的数据类型,"*.jpg"表示查找扩展名为jpg的所有文件,"*"表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格+\+;
3.2 创建shell脚本即crontab计划任务

创建shell脚本:

vim del-15-days-ago-logs.sh
脚本内输入以下内容,可以写多行,以分号分隔,同时管理多个tomcat的日志:

(这里我尝试如果加上#!/bin/sh计划任务不能生效,因此我没加。另外该脚本与计划任务内不要有注释。)

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;
分配可运行权限:

chmod +x del-15-days-ago-logs.sh
使用crontab加入到系统计划任务:

crontab -e

在计划任务内输入以下内容:

10 0 * * * /opt/soft/log/del-15-days-ago-logs.sh >/dev/null 2>&1
(这里设置的是每天凌晨0点10分执行del-15-days-ago-logs.sh文件进行数据清理任务,根据自己需求灵活变化清理时间和脚本防止的地址)

转载于:https://www.cnblogs.com/code-juggler/p/10523157.html

日志分隔工具Cronolog相关推荐

  1. 日志分隔工具Cronolog的使用

    Cronolog 分割 Tomcat8 Catalina.out日志. 默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个cat ...

  2. Linux日志切割工具cronolog详解

    一.前言 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本博文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细的讲解一下. 二.cr ...

  3. 日志切割工具cronolog详解

    日志切割工具cronolog详解 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细 ...

  4. centos 日志切割_Linux 日志切割工具cronolog详解

    一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...

  5. Linux日志分割软件,Linux 日志切割工具cronolog

    一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...

  6. 日志分割工具cronolog

    1. 关于本文     本文将以 cronolog  1.6.2.apache 2.2.6为例,以 CentOS 5 为平台,讲述cronolog的安装和设置. 2. 关于cronolog     c ...

  7. Linux 日志切割工具cronolog无root权限安装

    1.下载安装包,我这下载的是cronolog-1.6.2.tar.gz 2.放到自己有权限的目录下面比如 /home/cronolog/ 3.解压 tar zxvf cronolog-1.6.2.ta ...

  8. awstats linux日志分析,Linux 日志分析工具之AWStats详解

    一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...

  9. Linux 日志分析工具之awstats详解

    一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...

  10. 使用cronolog日志切分工具切分Tomcat的catalina.out日志文件

    使用cronolog日志切分工具切分Tomcat的catalina.out日志文件 <1>下载cronolog,并进行安装 wget http://cronolog.org/downloa ...

最新文章

  1. 网络模型mAP计算实现代码
  2. 什么是CMU Pronoucing Dictionary(CMU发音词典)
  3. 决策树模型回归可视化分析_Excel进行线性回归模型分析的操作——「杏花开生物医药统计」...
  4. Mac 技术篇-设置Finder文件管理显示文件路径
  5. 【GAN优化】详解GAN中的一致优化问题
  6. 一维数组模拟数据结构-------栈
  7. 编程函数c语言,C语言编程(练习1:函数 )
  8. easyplayerpro 使用说明_H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能?...
  9. 业务建模重的几个概念
  10. 四川大学计算机学院琚生根教授,基于卷积神经网络和自注意力机制的文本分类模型...
  11. SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发
  12. 请不要再蹭我了,谢谢
  13. 泰山游记:厕所竟然没水,可想而知
  14. 脉冲耦合神经网络(PCNN)阅读笔记
  15. sql 计算周环比wow_Oracle计算环比的方法
  16. r7525服务器电源管理系统,戴尔 R7525评估:EPYC内核密度让英特尔心碎
  17. Unity3D在C盘的缓存文件
  18. ffi一些常见的错误
  19. 初识OpenGL (3)片段着色器(Fragment Shader)
  20. 抽象语法树AST的全面解析(一)

热门文章

  1. 数学小技巧(模拟)求1/n
  2. vb6 英文和中文长度不同_PPT里中文排版就是没英文好看?你怕是假酒喝多了…...
  3. ffmpeg yuv数据存储方式_一文理解 YUV
  4. STM32——库函数版——数码管静态显示程序
  5. SLAM--各种开源项目
  6. linux apache 403 forbidden,apache服务器显示403 Forbidden的原因和解决方法
  7. 单片机C语言控制16*16LED显示屏,基于单片机的pwm控制16*16led点阵亮度调节怎么做啊,...
  8. 厄拉多塞筛法求素数 c语言,求质数(Prime Number 素数)的方法——厄拉多塞筛法...
  9. C/C++[codeup 6120]String Subtraction
  10. 极客大学产品经理训练营:产品规划与功能规划 第15课总结