欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务器不输出日志文件的问题排查

程序员文章站 2022-07-15 14:38:23
...

前几天在公司的项目管理系统(禅道)中编辑bug状态时系统报错弹出了xxxSize什么的问题,当时也没明白是怎么回事,又试着提交了一次还是那样,(以前都是这么操作的也没有问题),于是准备退出系统重新登陆再试试,谁知道退出后就再也登不上去了,一直提示用户名和密码不正确,(输入的用户名密码绝对没错)。让我同事登陆试试也是报用户名密码错误。实在没有办法了,我就去部署该系统的测试服务器上查看error.log,但是日志也没有输出错误信息,上网查了好多关于禅道的资料,重启服务,重置了所有密码还是不行(重置之前我已经将禅道的data目录下的数据进行了备份)。正在我深入研究的时候我们的测试人员告诉我我们的测试APP报错了,我就去看了下我们系统的日志,进入tomcat的log目录下后没有找到今天的日志文件(我们的日志文件是按天分割的),正在我百思不得其解之际,突然想到了之前的禅道报错信息里面有个xxxSize的字眼,于是赶紧查看了下服务器硬盘空间,fuck!已使用100%,果然是因为硬盘满了的原因,于是手动删掉了一些过往的日志文件,最后可用空间有52%了,然后重启禅道,这次错误日志里面也有了内容输入,后续的问题百度一下都很容易解决了。

今天记录这个主要是在你发现服务器日志没有输出的时候可以考虑服务器硬盘空间是否已满,一般情况下很难想到是硬盘空间满了,大多数都是在自己的web环境中查找问题,这次算是长个经验吧。

至于怎么预防服务器空间沾满的问题,可以定期手动删除(作为程序员,这种方式有点low了),也可以通过编写shell脚本来定时删除。

#!/bin/bash

#自动清除前20天的tomcat日志
echo "自动清除前20天的tomcat日志 BEGIN"

cd /export/tomcat/tomcat-1/logs
find ./ -name "catalina.out" -prune -o -name "*[.out.log.txt]" -a -mtime +20 -exec rm -rf {} \;
cd /export/tomcat/tomcat-2/logs
find ./ -name "catalina.out" -prune -o -name "*[.out.log.txt]" -a -mtime +20 -exec rm -rf {} \;

echo "自动清除前20天的tomcat日志 END"

 然后可以通过linux自带的定时计划设置执行时间:

执行 crontab -e进入编辑文件(和vim编辑一样)

#每周三0点0分执行

0 0 * * 3 /export/tomcat/clear-log.sh >/dev/null 2>&1

编辑完成后可通过crontab -l 查看任务列表。

 

相关标签: 服务器日志删除