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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现