Nginx Java 日志切割脚本

Nginx日志切割脚本:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
 
#############################################################################
logs_path="/usr/local/nginx/logs"
pid_path="/var/run/nginx.pid"
backup_dir="/data/log/nginx"
[ ! -d $backup_dir ] && mkdir -p $backup_dir
mv ${logs_path}/access.log ${backup_dir}/access_$(date -d "yesterday" +"%F").log
 
gzip ${backup_dir}/access_$(date -d "yesterday" +"%F").log && echo "nginx log sucess"
 
kill -USR1 `cat ${pid_path}`

Java日志切割脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
#This script run at 00:03 in cron
logs_path="/usr/local/tomcat7/logs"
logs_dir="/data/log/tomcat/"
logdate=`date -d "yesterday" +"%Y-%m-%d"`
for i in $logs_path
do
        echo "...................", $i
        Hostname=`hostname`
        yesterday=`date -d "yesterday" +"%Y%m%d"`
        [ ! -e ${logs_dir}$(date +"%Y%m") ] && mkdir -p $logs_dir$(date +"%Y%m")
        cat $i/catalina.out > $logs_dir$(date +"%Y%m")/catalina.out_"$Hostname"_"$yesterday".log
        cat $i/localhost_access_log.$logdate.txt > $logs_dir$(date +"%Y%m")/localhost_access_log_"$Hostname"_"$yesterday".log
 
        echo ""> $i/catalina.out
        cd $logs_dir$(date +"%Y%m") && gzip catalina.out_"$Hostname"_"$yesterday".log && echo "java gzip sucess..."
 
done

2.一台机器上面跑两个tomcat应用的日志切割方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#######################################################################################
 
#!/bin/bash
#This script run at 00:03 in cron
#####################################################################################
logs_path="/usr/local/tomcat-App1/logs/ /usr/local/tomcat-App2/logs"
logs_dir="/data/log/tomcat/"
logdate=`date -d "yesterday" +"%Y-%m-%d"`
pro="App1 App2"
for i in $logs_path
do
 echo "...................", $i
 Hostname=`hostname`
 yesterday=`date -d "yesterday" +"%Y%m%d"`
 [ ! -e ${logs_dir}$(date +"%Y%m") ] && mkdir -p $logs_dir$(date +"%Y%m")
 for m in $pro
 do
  cat $i/catalina.out > $logs_dir$(date +"%Y%m")/cata_"$m"_"$Hostname"_"$yesterday".log
  cat $i/localhost_access_log.$logdate.txt > $logs_dir$(date +"%Y%m")/localhost_access_"$m"_"$Hostname"_"$yesterday".log
 done
done 
 echo ""> $i/catalina.out
 cd $logs_dir$(date +"%Y%m") && gzip cata_*_"$Hostname"_"$yesterday".log && echo "java gzip sucess..."

加入定时任务:

1
2
3
*/59 * * * * /usr/sbin/ntpdate cn.pool.ntp.org>/dev/null 2>&1
0 0 * * * /bin/sh /opt/bin/crontab/cronolog.sh 2>&1
10 0 * * * /bin/sh /opt/bin/crontab/nginx_log.sh /dev/null 2>&1

 

posted @   梦徒  阅读(869)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示