阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

401次阅读
没有评论

共计 3641 个字符,预计需要花费 10 分钟才能阅读完成。

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

普通用户下载、安装 cronolog
[tomcat@localhost ~]$ tar -xf cronolog-1.6.2.tar.gz
[tomcat@localhost ~]$ cd cronolog-1.6.2/
[tomcat@localhost cronolog-1.6.2]$  ./configure –prefix=/home/tomcat/cronolog
make
make install

root 用户下下载、安装 cronolog
[root@localhost ~]# rpm -qa |grep cronolog
[root@localhost ~]# tar zxvf cronolog-1.6.2.tar.gz 
[root@localhost ~]# cd cronolog-1.6.2
[root@localhost cronolog-1.6.2]# ./configure 
[root@localhost cronolog-1.6.2]# make && make install
[root@localhost cronolog-1.6.2]# which cronolog
/usr/local/sbin/cronolog

在普通用户的家目录下编辑.bash_profile 文件里添加“$HOME/cronolog/sbin”添加 cronolog 的安装路径
[tomcat@localhost ~]$ 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 “$@” start \
 >> “$CATALINA_OUT” 2>&1 “&”】替换成 385、386 行【
org.apache.catalina.startup.Bootstrap “$@” start 2>&1 \
 | /home/tomcat/cronolog/sbin/cronolog “$CATALINA_OUT” >> /dev/null 2>&1 &
】;

396、397 行【
  org.apache.catalina.startup.Bootstrap “$@” start \
  >> “$CATALINA_OUT” 2>&1 “&”
】替换成 394、395 行【
org.apache.catalina.startup.Bootstrap “$@” 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 “$@” start \
384      # >> “$CATALINA_OUT” 2>&1 “&”
385        org.apache.catalina.startup.Bootstrap “$@” 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 “$@” start 2>&1 \
395        | /home/tomcat/cronolog/sbin/cronolog “$CATALINA_OUT” >> /dev/null 2>&1 &
396    #  org.apache.catalina.startup.Bootstrap “$@” start \
397    #  >> “$CATALINA_OUT” 2>&1 “&”
398  fi

可以通过./catalina.sh start 来查看配置文件是否正确;这样在 /usr/local/tomcat/logs 每天会自动生成 opres.%Y-%m-%d.out 文件,下面我们要做的是定期清理这些过期的文件,我们可以通过 crontab 来实现
[tomcat@localhost ~]$ crontab -e
30 3 * * * /bin/find /home/tomcat/openapi/logs/ -mtime +7 -type f -name “opres*.*.out” -exec /bin/rm -f {} \; 
[tomcat@localhost ~]$ crontab -l                                                   
30 3 * * * /bin/find /home/tomcat/openapi/logs/ -mtime +7 -type f -name “opres*.*.out” -exec /bin/rm -f {} \;

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/142408.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3641字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19356
评论数
4
阅读量
8320695
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛NAS-7:手把手教你免费内网穿透-Cloudflare tunnel

星哥带你玩飞牛 NAS-7:手把手教你免费内网穿透 -Cloudflare tunnel 前言 大家好,我是星...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛NAS-1:安装飞牛NAS

星哥带你玩飞牛 NAS-1:安装飞牛 NAS 前言 在家庭和小型工作室场景中,NAS(Network Atta...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
开源项目绝版游戏保护计划:重温一下经典游戏

开源项目绝版游戏保护计划:重温一下经典游戏

  开源项目绝版游戏保护计划:重温一下经典游戏 在数字时代,游戏作为一种文化载体,面临着前所未有的生...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开源项目绝版游戏保护计划:重温一下经典游戏

开源项目绝版游戏保护计划:重温一下经典游戏

  开源项目绝版游戏保护计划:重温一下经典游戏 在数字时代,游戏作为一种文化载体,面临着前所未有的生...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...