日志分隔工具Cronolog
注:本文转载自 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相关推荐
- 日志分隔工具Cronolog的使用
Cronolog 分割 Tomcat8 Catalina.out日志. 默认情况下,tomcat的catalina.out日志文件是没有像其它日志一样,按日期进行分割,而是全部输出全部写入到一个cat ...
- Linux日志切割工具cronolog详解
一.前言 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本博文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细的讲解一下. 二.cr ...
- 日志切割工具cronolog详解
日志切割工具cronolog详解 大家都知道apache服务器,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.本文主要讲解Web服务器日志切割工具cronolog,下面我们就来详细 ...
- centos 日志切割_Linux 日志切割工具cronolog详解
一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...
- Linux日志分割软件,Linux 日志切割工具cronolog
一.前言 二.cronolog 简介 三.cronolog 特点 四.cronolog 安装 五.cronolog 使用 六.cronolog 总结 注,操作系统 CentOS 6.4 x86_64, ...
- 日志分割工具cronolog
1. 关于本文 本文将以 cronolog 1.6.2.apache 2.2.6为例,以 CentOS 5 为平台,讲述cronolog的安装和设置. 2. 关于cronolog c ...
- Linux 日志切割工具cronolog无root权限安装
1.下载安装包,我这下载的是cronolog-1.6.2.tar.gz 2.放到自己有权限的目录下面比如 /home/cronolog/ 3.解压 tar zxvf cronolog-1.6.2.ta ...
- awstats linux日志分析,Linux 日志分析工具之AWStats详解
一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...
- Linux 日志分析工具之awstats详解
一.前言 二.awstats 简介 三.awstats 特点 四.awstats 运行原理 五.awstats 安装与配置详解 六.awstats 执行日志分析 七.awstats 进行多站点日志分析 ...
- 使用cronolog日志切分工具切分Tomcat的catalina.out日志文件
使用cronolog日志切分工具切分Tomcat的catalina.out日志文件 <1>下载cronolog,并进行安装 wget http://cronolog.org/downloa ...
最新文章
- 网络模型mAP计算实现代码
- 什么是CMU Pronoucing Dictionary(CMU发音词典)
- 决策树模型回归可视化分析_Excel进行线性回归模型分析的操作——「杏花开生物医药统计」...
- Mac 技术篇-设置Finder文件管理显示文件路径
- 【GAN优化】详解GAN中的一致优化问题
- 一维数组模拟数据结构-------栈
- 编程函数c语言,C语言编程(练习1:函数 )
- easyplayerpro 使用说明_H265网页播放器EasyPlayerPro-Win如何通过配置文件实现自动播放等功能?...
- 业务建模重的几个概念
- 四川大学计算机学院琚生根教授,基于卷积神经网络和自注意力机制的文本分类模型...
- SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发
- 请不要再蹭我了,谢谢
- 泰山游记:厕所竟然没水,可想而知
- 脉冲耦合神经网络(PCNN)阅读笔记
- sql 计算周环比wow_Oracle计算环比的方法
- r7525服务器电源管理系统,戴尔 R7525评估:EPYC内核密度让英特尔心碎
- Unity3D在C盘的缓存文件
- ffi一些常见的错误
- 初识OpenGL (3)片段着色器(Fragment Shader)
- 抽象语法树AST的全面解析(一)
热门文章
- 数学小技巧(模拟)求1/n
- vb6 英文和中文长度不同_PPT里中文排版就是没英文好看?你怕是假酒喝多了…...
- ffmpeg yuv数据存储方式_一文理解 YUV
- STM32——库函数版——数码管静态显示程序
- SLAM--各种开源项目
- linux apache 403 forbidden,apache服务器显示403 Forbidden的原因和解决方法
- 单片机C语言控制16*16LED显示屏,基于单片机的pwm控制16*16led点阵亮度调节怎么做啊,...
- 厄拉多塞筛法求素数 c语言,求质数(Prime Number 素数)的方法——厄拉多塞筛法...
- C/C++[codeup 6120]String Subtraction
- 极客大学产品经理训练营:产品规划与功能规划 第15课总结