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

1926人参与 |分类: 站长百科|时间: 2016年11月20日

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

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/CHENDEXIN/logs
yesterday=`date  +"%F" -d  "-1 days"`
mv ${LOGS_PATH}/21yunwei.log  ${LOGS_PATH}/21yunwei-${yesterday}.log
kill -USR1 $(cat /var/logs/nginx.pid)