设为首页 收藏本站
查看: 1733|回复: 0

[经验分享] nginx按分钟切割日志

[复制链接]

尚未签到

发表于 2018-11-15 06:38:01 | 显示全部楼层 |阅读模式
  网上有许多按照天切割日志的。但是由于应用需要,对该web服务器进行更详细的分析!所以要按照分钟切割。研发部门的要求是他们有一个工具是扫描日志的工具,扫描完成后的日志会有.complete的后缀,扫描完的日志全部移到history_logs中。采用的是两个脚本来完成的此需求!
  1.切割日志的脚本如下:
  vim nginx_log.sh
#!/bin/bash  
#将nginx的日志按照分钟切割
  

  
#定义日志文件的路径
  
logs_path=/opt/nginx/logs/
  

  
#定义nginx的进程号的路径
  
pid_path=/opt/nginx/logs/nginx.pid
  

  
#取当前时间的day
  
dd=`date +%F`
  

  
#当前时间的小时
  
HH=`date +%H`
  

  
#当前时间的分钟
  
mm=`date +%M`
  
#将日志文件按照分钟切割的关键命令
  
mv ${logs_path}access.log ${logs_path}access-$dd-$HH-$mm.log
  

  
#将当前分钟的进程号杀死的同时,启动下一分钟nginx的进程
  
kill -USR1 `cat ${pid_path}`
  需要将该文件放在/opt/nginx/sbin 目录下,这样方便直接直接执行。
  因为是按照每分钟切割日志,所以我们使用crontab命令
  #crontab -e
  #该语句就是每分钟执行一次该脚本
  */1 * * * * /opt/nginx/sbin/nginx_log.sh
  我们可以观察在logs目录下会产生大量的日志,是类似access-2015-09-08-10-39.log 的文件。他们要求是有工具扫描这大量的日志,最后都是以.complete的文件我们需要移动到与logs同级的目录history_logs中的对应日期中去。
  2.移动脚本如下:
  vim move_logs.sh
#!/bin/bash  

  
#定义日志文件目录
  
logpath=/opt/nginx/logs/
  

  
#前一天的时间
  
lastdd=` date -d "yesterday" +%Y-%m-%d `
  

  
#进入到该目录中
  
cd /opt/nginx/history_logs
  

  
#创建前一天的日志目录
  
mkdir $lastdd
  

  
#开始将扫描过得前一天的日志移动到指定目录中
  

  
mv ${logpath}access-$lastdd-*.complete  $lastdd/
  该脚本需要每天的凌晨执行,时间没必要那么精确。不耽误当天扫描当天的日志即可!
  同样我们需要将该脚本放在/opt/nginx/sbin目录下
  #crontab -e
  30 00 * * * /opt/nginx/sbin/move_logs.sh
  我所定的时间为凌晨12:30 执行移动脚本.
  到此我们的按分钟切割脚本和移动日志文件脚本完成!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635114-1-1.html 上篇帖子: Nginx演练(4)配置内容缓存 下篇帖子: LNMP安装Nginx1.9.5+PHP5.5+MySQL5.6-linux小记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表