linux环境下通过shell脚本对tomcat和nginx做日志切割 – 21运维
通知: .-...

linux环境下通过shell脚本对tomcat和nginx做日志切割

shell 21运维 3919浏览 0评论

21运维 原创文章,转载请注明出处。

线上服务器一般都会遇到各种各样的日志切割。之前一直没有发布类似详细脚本文章,这次就弥补下网站相关内容。万变不离其宗,下边简单讲解一下两个日志切割,其他服务日志的切割也可以这样实现.
Tomcat日志catalina.out切割小脚本:

#!/bin/bash
#cut tomcat catalina.out
yesterday=`date  +"%F" -d  "-1 days"`
cd /usr/local/tomcat7.0.70/log
cp catalina.out  catalina.out.$yesterday    
echo > catalina.out
exit

可以解决catalina.out日志过大问题。脚本只是其中一个办法,也可以自己手工配置或使用其他工具实现。另外,如果tomcat项目比较多,可以将目录设置一个变量,做一个循环重复执行。

Nginx访问日志切割脚本(其他日志类似):

#!/bin/bash
#cut nginx access.log

LOGS_PATH=/home/wwwroot/21yunwei/logs
yesterday=`date  +"%F" -d  "-1 days"`
mv ${LOGS_PATH}/21yunwei.log  ${LOGS_PATH}/21yunwei-${yesterday}.log
kill -USR1 $(cat /var/logs/nginx.pid)

转载请注明:21运维 » linux环境下通过shell脚本对tomcat和nginx做日志切割

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 不错,tomcat 可以用Log4j。 nginx 没有自带的日志轮询工具,可以使用脚本实现,根据具体的项目对轮询的日志做打包压缩归档。日志文件的压缩率还是很高的。 平台比较大的话建议配合使用ELK进行日志收集分析。 from 运维社区
    loner2016-12-09 14:40 回复
    • 大神请接受我对你的崇拜! :smile:
      21运维2016-12-09 18:00 回复