设为首页 收藏本站
查看: 12641|回复: 0

[经验分享] tomcat日志切割catalina.out

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-9-13 10:20:48 | 显示全部楼层 |阅读模式
法一:利用系统logrotate命令来实现tomcat的日志切割
先定义tomcat的pid 文件
修改$TOMCAT_HOME/bin/catalina.sh文件,大约在128行左右,在PRGDIR下面一行添加CATALINA_PID参数行,修改完成后应该跟下面相同。
1
2
3
4
# Get standard environment variables
PRGDIR=`dirname "$PRG"`
CATALINA_PID=/var/run/tomcat.pid
#CATALINA_PID=$PRGDIR/CATALINA_PID



也可以自定义pid路径,例如“CATALINA_PID=/var/run/tomcat.pid”
1
2
进入logrotate.d
cd /etc/logrotate.d/



编写tomcat的轮询日志配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@iZ25p5pwvouZ logrotate.d]# vim tomcat_ele
/mnt/tomcat8_ele/logs/catalina.out
{
daily
rotate 15
missingok
notifempty
dateext
compress
delaycompress
create 600 root root
sharedscripts
postrotate
    if [ -f /var/run/tomcat_ele.pid ]; then
        kill -USR1 `cat /var/run/tomcat_ele.pid`
    fi
endscript
}




保存退出

给他执行权限
1
chmod u+x /etc/logrotate.d/tomcat_ele



测试:执行脚本
1
/usr/sbin/logrotate -vf  /etc/logrotate.d/tomcat_ele




测试成功然后写入定时任务定时切割
1
2
3
4
#auth root
#date 2017-09-12
#定时刷新ele么的项目日志
00 00 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat_ele &>/dev/null



配置完成OK



法二“利用cronlog工具来实现日志切割
1.软件包准备
从51cto中下载一个包cronolog-1.6.2.tar.gz  
http://down.51cto.com/data/336272

2.解压

1
tar xf cronolog-1.6.2.tar.gz




3.准备
1
2
cd cronolog-1.6.2
./configure



4.编译
1
make




5.编译安装
1
make install




6.配置tomcat的catalina.sh
删掉或注释 注意注释要放在下边要不让会报错
1
2
org.apache.catalina.startup.Bootstrap “$@” start  \
>> “$CATALINA_BASE”/logs/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 >> /dev/null &



注意一共要修改两处 一模一样的修改
这样的话就配置完了 配置完成可以重启tomcat
1
2
./catalina.sh stop 或./shutdown.sh
./catalina.sh start  或./start.sh



会看到log/下边的catalina.out 变成了以时间命令的日志文件 配置完成

日志改名
如果不习惯catalina日志以时间命令 可以编写一个脚本实现日志改名  crontab执行
1
2
3
4
5
[iyunv@iZ25p5pwvouZ logs]# crontab -e
#auth root
#date 2017-09-12
#定时刷新ele么的项目日志
00 05 * * * /bin/sh /server/scripts/ele_logortate.sh &>/dev/null



定时任务脚本内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[iyunv@iZ25p5pwvouZ logs]# cat /server/scripts/ele_logortate.sh
#!/bin/sh
Path="/mnt/tomcat8_ele/logs/"
Yesterday=`date +%F -d "-1 day"`
TodayFile=`echo ${Path}catalina.$(date +%F).out`
if [ -f $TodayFile ]
then
    /bin/mv ${Path}catalina.out ${Path}catalina.$Yesterday.out &>/dev/null
    if [ $? -ne 0 ];then
    echo "`date +%F` 改名失败" >>/tmp/ele_logortate.log
    fi
    sleep 5
    /bin/mv $TodayFile ${Path}catalina.out  &>/dev/null
    if [ $? -ne 0 ];then
    echo "`date +%F` 改名失败" >>/tmp/ele_logortate.log
    fi
else
    echo "没有 今天的日志 配置失败" >>/tmp/ele_logortate.log
fi



OK完成。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-404484-1-1.html 上篇帖子: Tomcat基本结构和配置文件结构 下篇帖子: tomcat + keepalived 实现主备高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表