`

Shell脚本分割Nginx日志,并定期清理[不重启nginx]

阅读更多

之前写过一篇关于 Shell脚本分割Nginx日志,并定期清理 的文章,链接:http://www.webyang.net/Html/web/article_255.html 但是需要reload nginx,有些人对重启nginx有心理阴影,所以又改了下:

 

  1. #!/bin/bash
  2. #nginx access log segmentation shell script
  3. #日志目录
  4. log_dir="/usr/local/nginx/logs/"
  5. cd $log_dir
  6. time=`date +%Y%m%d --date="-1 day"`
  7. #日志保存天数
  8. save_days=15
  9. #日志文件名所处'/'分割的位置,key('/'数+1)
  10. num=6;
  11.  
  12. #此处待优化(取得文件不带后缀的文件名)
  13. website=`ls $log_dir*.log | xargs -n 1 | cut -f 1 -d "." | cut -f $num -d "/"`
  14. #日志目录下所有的日志文件为文件夹,循环新建对应的时间文件
  15. for i in $website
  16. do
  17. #判断目录是否存在
  18. if[!-d $log_dir$i ];then
  19. mkdir "$i"
  20. fi
  21.  
  22. cp $log_dir$i.log $log_dir$i/$i-$time.log
  23. true>$log_dir$i.log
  24. done
  25.  
  26. find $log_dir -mtime +$save_days -exec rm -rf {} \;

设置crontab,每天凌晨跑一次。


展示: web1.log => web1/web1-20160322.log web1/web1-20160323.log web2.log => web2/web2-20160322.log web2/web2-20160323.log

 

其他还有 cronolog、logrotate等方式,可以参考:http://www.tuicool.com/articles/BF36rq

0
0
分享到:
评论

相关推荐

    shell脚本实现nginx日志分割

    本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家

    Nginx日志切割清理脚本

    利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用

    自动reload nginx解决nginx对动态域名不重新解析的Shell脚本

    为了解决这个问题,我们可以编写一个Shell脚本来定期检查IP变化并自动执行`nginx -s reload`命令来强制Nginx重新加载配置。 ### Shell脚本工作原理 1. **检测IP变化**:首先,脚本会定期读取动态DNS服务提供的API...

    开启、停止 nginx 的shell脚本

    标题中的“开启、停止 nginx 的 shell 脚本”指的是使用 Linux shell 脚本来启动或停止 Nginx 服务器,这是一个常见的系统管理员任务。Nginx 是一款高性能的 Web 和反向代理服务器,广泛应用于网站托管和服务提供。...

    nginx 最常使用的日志分析shell脚本

    下面分享一下我用Shell编写的分析Nginx日志的脚本,它可以快速得出排名最前的网 站和IP等,内容如下所示: Most of the ip: ------------------------------------------- 220 59.41.24.48 178 59.41.24.80 172 ...

    Nginx日志自动归档备份shell脚本log.sh

    Nginx日志自动归档备份shell脚本log

    Nginx.sh shell脚本

    搭建nginx,安装包去官网下载,然后修改脚本路径,执行即可

    shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)

    本文将介绍一个用于分析`nginx`日志的`shell`脚本,该脚本能够帮助我们找出访问次数最多和最耗时的页面,从而针对性地进行优化。这个脚本类似于`MySQL`中的慢查询日志分析,但针对的是Web页面的慢访问情况。 首先,...

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。

    nginx实现请求的负载均衡 + keepalived实现nginx的高可用的shell脚本

    在提供的Shell脚本中,可能包含了安装、配置Nginx和Keepalived,以及监控Nginx状态的相关命令。运行这个脚本可以在Linux环境下快速部署这样一个高可用的负载均衡集群。 总结起来,Nginx和Keepalived的组合为Web服务...

    nginx一键部署,包含shell脚本及nginx安装包

    在这个压缩包中,我们拥有一个名为 "install_nginx" 的 shell 脚本,用于简化 Nginx 的安装过程,使得在服务器上快速部署 Nginx 成为可能。 **一、Nginx 的基本概念** 1. **Web 服务器**:Nginx 主要工作是接收...

    shell脚本(监控日志发告警邮件)

    监控生产环境nginx日志发告警邮件,需要使用linux系统的定时任务,如5分钟执行或者其他时间间隔

    使用shell脚本一键自动生产nginx https证书

    原文链接:https://blog.csdn.net/m0_37814112/article/details/119391879?spm=1001.2014.3001.5501 说明:一键生产nginx https自签证书脚本,真实有效!

    用shell脚本分析Nginx日志

    本文将介绍用shell脚本来分析Nginx负载均衡器的日志,这样可以快速得出排名靠前的网站和IP等,推荐大家使用线上环境下的shell脚本。本文中的shell脚本又分为两种情况,第一种情况是Nginx作为前端的负载均衡器,其...

    shell脚本编程100例

    本书《shell脚本编程100例》为读者提供了100个实战性的shell脚本编程实例,涵盖了检测网段主机状态、猜数字游戏、打印乘法口诀、使用rsync备份数据、切割Nginx日志、监控服务端口、使用mtime删除历史文件或日志文件...

    nginx自动化安装shell脚本

    nginx自动化安装shell脚本

    109个shell脚本合集.pdf

    Shell脚本可以自动切割日志文件,以便更好地管理日志。 通过这些Shell脚本,我们可以更好地管理我们的计算机系统,提高工作效率,节省时间。熟练掌握Shell脚本可以让我们操作计算机变得更加轻松,也会节省很多时间...

    检测网站状态网站挂了自动重启nginx服务脚本 运行多年无人值守

    检测网站状态并自动重启Nginx服务的脚本通常用于服务器管理中,当网站不可访问时(比如网页加载超时或者返回错误码),该脚本可以定期检查网站的响应情况。这个过程一般包含以下几个步骤: 1. **监控脚本**:编写一...

    统计Nginx日志里前一个小时的IP数量以及IOS占比

    本话题将围绕“统计Nginx日志里前一个小时的IP数量以及iOS占比”这一主题展开,讲解如何处理Nginx日志中的时间戳,以及编写shell脚本来实现这一目标。 首先,Nginx默认的日志格式通常包含以下字段:远程主机...

    shell脚本之nginx自动化脚本

    这个脚本,可以满足nginx开启,停止和重启的操作 #!/bin/bash . /etc/init.d/functions function usage() { echo $usage:$0 {start|stop|restart} exit 1 } function start() { /usr/local/nginx/sbin/nginx ...

Global site tag (gtag.js) - Google Analytics