Linux下用cronolog切割Tomcat日志并删除指定天数前的日志记录

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

普通用户下载、安装cronolog

[[email protected] ~]$ tar -xf cronolog-1.6.2.tar.gz
[[email protected] ~]$ cd cronolog-1.6.2/
[[email protected] cronolog-1.6.2]$  ./configure --prefix=/home/tomcat/cronolog
make
make install

root用户下下载、安装cronolog

[[email protected] ~]# rpm -qa |grep cronolog
[[email protected] ~]# tar zxvf cronolog-1.6.2.tar.gz 
[[email protected] ~]# cd cronolog-1.6.2
[[email protected] cronolog-1.6.2]# ./configure 
[[email protected] cronolog-1.6.2]# make && make install
[[email protected] cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog

在普通用户的家目录下编辑.bash_profile文件里添加“$HOME/cronolog/sbin”添加cronolog的安装路径

[[email protected] ~]$ vi .bash_profile

# .bash_profile                                                                                                                                                                               
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:$HOME/cronolog/sbin
export PATH

用which cronolog可以查到安装的路径,这个路径待会在修改catalina.sh时会用到。

修改catalina.sh 文件

将186行【CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out】修改成187行【CATALINA_OUT="$CATALINA_BASE"/logs/opres.%Y-%m-%d.out】内容,日志名可以自行定义;

注释掉370行【touch "$CATALINA_OUT"】;

383、384行【

org.apache.catalina.startup.Bootstrap "[email protected]" start \

>> "$CATALINA_OUT" 2>&1 "&"】替换成385、386行【

org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 \

| /home/tomcat/cronolog/sbin/cronolog "$CATALINA_OUT" >> /dev/null 2>&1 &

】;

396、397行【

org.apache.catalina.startup.Bootstrap "[email protected]" start \

>> "$CATALINA_OUT" 2>&1 "&"

】替换成394、395行【

org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 \

| /home/tomcat/cronolog/sbin/cronolog "$CATALINA_OUT" >> /dev/null 2>&1 &

】;最后一步(394、395)要注意如果原本的命令只是注释掉,替换的内容一定要在原本内容的上面,不然无法正常启动,前面的替换(383、384)位置没有关系的

97 JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=512m"
 98 
 99 # OS specific support.  $var _must_ be set to either true or false.
185 if [ -z "$CATALINA_OUT" ] ; then
186   # CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
187    CATALINA_OUT="$CATALINA_BASE"/logs/opres.%Y-%m-%d.out
370   #touch "$CATALINA_OUT"
371   if [ "$1" = "-security" ] ; then
372     if [ $have_tty -eq 1 ]; then
373       echo "Using Security Manager"
374     fi
375     shift
376     eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 377       -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" 378       -Djava.security.manager 379       -Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" 380       -Dcatalina.base="\"$CATALINA_BASE\"" 381       -Dcatalina.home="\"$CATALINA_HOME\"" 382       -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" 383      # org.apache.catalina.startup.Bootstrap "[email protected]" start 384      # >> "$CATALINA_OUT" 2>&1 "&"
385        org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 386         | /home/tomcat/cronolog/sbin/cronolog "$CATALINA_OUT" >> /dev/null 2>&1 &
387 
388   else
389     eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 390       -Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" 391       -Dcatalina.base="\"$CATALINA_BASE\"" 392       -Dcatalina.home="\"$CATALINA_HOME\"" 393       -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" 394        org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 395         | /home/tomcat/cronolog/sbin/cronolog "$CATALINA_OUT" >> /dev/null 2>&1 &
396     #  org.apache.catalina.startup.Bootstrap "[email protected]" start 397     #  >> "$CATALINA_OUT" 2>&1 "&"
398   fi

可以通过./catalina.sh start 来查看配置文件是否正确;这样在/usr/local/tomcat/logs每天会自动生成opres.%Y-%m-%d.out文件,下面我们要做的是定期清理这些过期的文件,我们可以通过crontab来实现

[[email protected] ~]$ crontab -e
30 3 * * * /bin/find /home/tomcat/openapi/logs/ -mtime +7 -type f -name "opres*.*.out" -exec /bin/rm -f {} \; 
[[email protected] ~]$ crontab -l                                                   
30 3 * * * /bin/find /home/tomcat/openapi/logs/ -mtime +7 -type f -name "opres*.*.out" -exec /bin/rm -f {} \;

每天凌晨3点半执行清除7天之前过期日志

时间: 2024-12-11 01:35:59

Linux下用cronolog切割Tomcat日志并删除指定天数前的日志记录的相关文章

Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录(转)

文章转自:http://www.osyunwei.com/archives/8998.html 说明: 操作系统:CentOS Mongodb安装目录:/usr/local/mongodb Mongodb数据库存放目录:/home/data/mongodb/mongodb_data Mongodb日志存放目录:/home/data/mongodb/mongodb_log 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令

Linux下定时切割nginx日志并删除指定天数前的日志记录

nginx的log日志分为access.log和error.log:其中access.log 记录了哪些用户.哪些页面以及用户浏览器.ip和其他的访问信息:error.log则是记录服务器错误日志. error.log日志的形式如下: 201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythontab.com GET /html/test.html HTTP/1

Linux下定时切割Tomcat日志并删除指定天数前的日志记录

ystem.out和System.err都被打印到catalina.out.catalina.out不会rotate.一般在部署Tomcat后,运行久了,catalina.out文件会越来越大,对系统的稳定造成了一定的影响. 1.可通过修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息. [[email protected] conf]# pwd /usr/local/tomcat/conf [[email protected] conf]# cp loggi

Ubuntu 环境下使用cronolog 切割Tomcat日志

1 .安装cronolog wget http://down1.chinaunix.net/distfiles/cronolog-1.6.2.tar.gz ./configure make && sudo make install 默认安装位置: # which cronolog /usr/local/sbin/cronolog 2.配置分割Tomcat日志 编辑tomcat目录bin下的catalina.sh文件 # vi bin/catalina.sh 找到下面这行 org.apach

Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份

#!/bin/bash #设置Oracle数据库运行账号及oracle的系统环境变量 export ORACLE_BASE=/data/oracle export ORACLE_HOME=$ORACLE_BASE/product/10g export ORACLE_SID=test export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/li

Linux下自动备份Oracle数据库并删除指定天数前的备份

Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务器 mkdir -p /backup/oracledata #新建Oracle数据库备份目录 chown -R oracle:oinstall /backup/oracledata -R #设置目录权限为oinstall用户组的oracle用户(用户oracle与用户组oinstall是在安装Or

linux下用cronolog分割apache日志

linux下用cronolog分割apache日志,大神莫拍砖,菜鸟留一记录,小白请默默转载.连linux登陆和vi编辑都不会的,请默默关闭此页面.入正题 说明:淡绿色底的为linux命令,其他的为备注说明. 下载cronolog wget "http://download.chinaunix.net/down.php?id=3457&ResourceID=1851&site=1"#解压缩tar -xzvf cronolog-1.6.2.tar.gz#进入目录cd cr

在linux下安装并配置tomcat

1.安装tomcat 1.1下载tomcat 从官网http://tomcat.apache.org/下载tomcat,保存在/home目录下(当然也可以是其他目录). 注意:tomcat官网中,下载Binary  Distributions下的core下的tar.gz即可. 下载后将其copy到自己的安装目录:   cp apache-tomcat-8.0.21.tar.gz /home 1.2安装tomcat 解压压缩包:  tar  -zxvf apache-tomcat-8.0.21.t

Linux下shell脚本监控Tomcat的状态并实现自动启动

最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤. 1.编写Shell脚本monitor.sh #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作# author:EagleHao# date:2018-04-08# DEFINE # 获取tomcat进程ID(其中[grep