tomcat日志catalina,nginx日志分割脚本
tomcat日志catalina,nginx日志分割脚本
catalina分割脚本
#!/bin/bash
#此脚本用于自动分割tomcat的日志,catalina.out
#每天00:00执行此脚本 将前一天的catalina.out重命名为catalina-xxxx-xx-xx.log格式,并重新打开日志文件
#tomcat日志文件所在目录
LOG_PATH=/usr/local/tomcat/logs
#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#分割日志
cd ${LOG_PATH}
#将当前日志的内容拷贝到以日期分割的新文件中,
cp -f catalina.out catalina-${YESTERDAY}.log
#并清空当前日志文件的内容
echo "" > catalina.out
#删除90天以前的日志数据 日志位于./logs 文件夹下
find . -mtime +90 -name "*.log*" -exec rm -rf {} \;
find . -mtime +90 -name "*.txt*" -exec rm -rf {} \;
nginx日志分割脚本
需要改为绝对路径
#!/bin/bash
#此脚本用于自动分割Nginx的日志,包括access.log和error.log
#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件
#Nginx日志文件所在目录
LOG_PATH=/opt/nginx/logs
#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#获取pid文件路径
#PID=/var/run/nginx/nginx.pid
#分割日志
cd ${LOG_PATH}
mv -f access.log access-${YESTERDAY}.log
mv -f error.log error-${YESTERDAY}.log
#向Nginx主进程发送USR1信号,重新打开日志文件
kill -USR1 `cat nginx.pid`
#删除90天以前的日志数据 日志位于. 当前目录下
find . -mtime +90 -name "*.log*" -exec rm -rf {} \;
crontab 定时任务
crontab -e
0 0 * * * /usr/local/nginx/sbin/cut-nginx-log.sh
0 0 * * * /usr/local/tomcat/bin/cut-catalina-log.sh