Nginx、tomcat日志切割
日志对于一个服务来说非常的重要,本实例是对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 {} \;
设置一个任务计划。