`

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

阅读更多

前几天在公司的项目管理系统(禅道)中编辑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 查看任务列表。

 

分享到:
评论

相关推荐

    Android-AndroidLog日志打印输出到文件方便查看和上传到服务器

    标题"Android-AndroidLog日志打印输出到文件方便查看和上传到服务器"所描述的,就是一种将Android应用的日志信息写入到本地文件的方法,以便后续分析或上传到远程服务器。这个方法能够帮助开发者在无法直接访问设备...

    windows服务器动态刷新日志文件

    在Windows服务器环境中,管理和监控日志文件是系统管理员日常任务的重要组成部分。日志文件记录了系统、应用程序和服务的各种活动,对于故障排查、性能优化以及安全分析至关重要。标题提到的"windows服务器动态刷新...

    联想(Thinkserver)服务器日志收集工具以及操作文档.rar

    对于联想ThinkServer这样的企业级服务器,定期检查和分析日志文件是确保系统稳定、安全和高效运行的关键步骤。"联想(Thinkserver)服务器日志收集工具以及操作文档.rar"这个压缩包文件提供了专门用于ThinkServer...

    Qt实现简单的qDebug输出到日志文件

    在Qt开发过程中,调试信息的记录是至...总结来说,通过自定义日志处理器并重定向`qDebug()`输出,我们可以实现Qt应用的日志文件记录,这对于调试和问题排查非常有帮助。在实践中,应根据项目需求进行适当的扩展和优化。

    服务器查看日志操作

    "服务器查看日志操作"这个标题暗示我们需要关注如何在服务器上有效地检查和分析日志文件,以便于诊断问题、调试代码或者监控系统性能。下面将详细介绍相关知识点。 首先,`chkWLsvr`看起来像是一个自定义的服务检查...

    日志记录文件与压缩上传服务器

    在IT行业中,日志记录是系统监控和故障排查的关键环节,尤其对于服务器和应用程序的运行状态分析至关重要。本文将深入探讨日志记录文件的生成、压缩处理,以及如何将其安全有效地上传到阿里云对象存储服务(OSS),...

    日志文件源代码(C语言)

    在IT行业中,日志文件是系统监控和故障排查的关键元素,尤其在服务器和网络设备上。C语言作为底层编程的基础,常被用来编写高效的日志管理系统。本篇将围绕"日志文件源代码(C语言)"这个主题,深入探讨C语言在Linux...

    日志服务器小程序

    总的来说,日志服务器小程序是IT系统中不可或缺的组件,它帮助我们理解系统行为、诊断问题、优化性能。通过对日志信息的分级记录和有效管理,我们可以更好地维护和提升系统的稳定性和可靠性。在设计和实现日志服务器...

    日志文件切割(大文件切成多个小文件)

    在IT行业中,日志文件的管理和处理是一项至关重要的任务,特别是在服务器监控、错误排查和系统维护等方面。当日志文件过大时,不仅会影响系统的性能,还可能导致读取和分析困难。"日志文件切割(大文件切成多个小...

    C++服务器日志组件

    在IT行业中,日志系统是不可或缺的一部分,尤其是在服务器端,它用于记录程序运行时的各种信息,包括错误、警告、调试消息等,以便于后期分析、排查问题。C++作为一门强大的系统级编程语言,常常被用来开发高效稳定...

    Go-RemoteTail用于同步监控多台服务器日志文件变更一句话说就是多主机的远程tail

    标题中的"Go-RemoteTail"是一个使用Go语言开发的工具,专门用于远程监控多台服务器上的日志文件变动。这个工具对于系统管理员和DevOps人员来说尤其有用,因为它提供了实时查看和分析分布在不同主机的日志文件的能力...

    服务器日志清理专用

    如果不定期清理,可能会对服务器性能产生负面影响,如降低读写速度,甚至引发磁盘空间耗尽的问题。 "日志清理"这个标签强调了这个过程的重要性。合理的日志清理策略应确保在保留关键信息的同时,减少不必要的存储...

    日志文件类

    在IT行业中,日志文件类是程序开发中不可或缺的一部分,尤其在系统监控、错误排查、性能分析等领域。本文将详细探讨“日志文件类”的设计和实现,以及它在实际应用中的重要性。 首先,一个完整的日志文件类通常会...

    linux的日志文件系统

    Linux的日志文件系统是操作系统中不可或缺的一部分,它负责收集、存储和管理系统及应用程序的各种运行信息。这些信息对于系统监控、故障排查、安全审计以及性能分析等任务至关重要。Linux使用了多种日志系统来满足...

    服务器运维工具-日志收集-logCollect-Linux.zip

    该工具的核心功能在于,它可以在不增加额外系统负载的情况下,实时捕获和聚合服务器的BIOS信息、黑盒日志、BMC(Baseboard Management Controller)数据、CPU状态以及磁盘信息等关键日志,极大地简化了运维人员的...

    日志记录文件及压缩上传服务器

    在IT行业中,日志记录是系统监控和故障排查的关键环节,而日志文件的压缩上传以及本地删除则是优化存储空间和提高效率的重要操作。本文将详细介绍日志记录、日志文件压缩、文件上传到阿里云对象存储服务(OSS)以及...

    shell脚本比较两台服务器目录及文件是否一致

    - 输出不一致的文件列表,包括只存在于一台服务器的文件以及内容发生变化的文件。 #### 脚本详解 1. **定义变量**: - `local_dir`:本地服务器的目录路径。 - `remote_dir`:远程服务器的目录路径。 - `local_...

    配置日志文件的讲解

    日志文件在软件开发中扮演着至关重要的角色,它们提供了应用程序运行时的详细信息,帮助开发者追踪错误,优化性能,并进行问题排查。Log4J 是一个广泛使用的 Java 日志框架,它提供了一种灵活的方式来管理和配置日志...

    下载服务器文件到本地,并删除已下载的服务器文件

    6. **定时任务**:在描述中提到了"TimerCleanLog",这可能是指定时清理日志文件的功能。可以使用cron(Linux)或Task Scheduler(Windows)设置定时任务,定期执行下载和删除操作。在定时任务中,脚本不仅下载文件,...

    Linux系统日志文件的打印与存储

    在Linux系统中,日志文件的管理和分析是系统维护和故障排查的重要环节。日志文件记录了系统运行过程中的各种事件,包括系统启动、服务状态、应用程序错误、安全事件等,为管理员提供了宝贵的信息资源。本文将深入...

Global site tag (gtag.js) - Google Analytics