首页 > 技术文章 > Nginx、tomcat日志切割

sxshaolong 2020-02-01 13:14 原文

       日志对于一个服务来说非常的重要,本实例是对Nginx,tomcat日志做备份。

1、nginx日志切割

编译安装的nginx的日志一般在“/usr/local/nginx/logs”

#!/bin/bash

#切换到日志路径

cd /usr/local/nginx/logs

#定义日志的时间,清楚的区分。
Newaccess="access-`date +%Y-%m-%d-%H-%M`.log"
Newerror="error-`date +%Y-%m-%d-%H-%M`.log"
#移动日志
mv access.log $Newaccess
mv error.log $Newerror
#创建日志
touch access.log error.log 
#重新读取日志
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
#压缩日志
tar -zcvf $Newaccess.tar.gz $Newaccess --remove-files
tar -zcvf $Newerror.tar.gz $Newerror --remove-files
#日志只保留30天
find . -mtime +30 -name "*.tar.gz" -exec rm -rf {} \;

以上是备份日志的脚本。

可根据公司的要求编写定时任务(crontab)

30 23 * * * /tmp/nginx.sh   (如每天晚十一点半对日志进行备份)

2、tomcat日志切割

#!/bin/bash
path1=/www/ctm/tomcat-8.0.52/logs
##进入备份目录
cd $path1
##备份日志文件
date="`date +%Y-%m-%d-%H-%M`.log"
cp catalina.out catalina.out.$date.log
tar -zcvf catalina.out.$date.tar.gz catalina.out.$date.log
##清空日志
echo > catalina.out
##清除大于7天日志
find . -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;

设置一个任务计划。

推荐阅读