centos中nginx按日期自动分割访问日志的方法

发布时间 - 2026-01-10 23:22:05    点击率:

Web 访问日志 (access_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息。

一条典型的Web访问日志如下:

复制代码 代码如下:
192.168.50.195 - - [17/Jun/2016:23:59:12 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.84 Safari/537.36" "-"1

1、 要解决问题:

当网站访问量大后,日志数据就会很多,如果全部写到一个日志文件中去,文件会变得越来越大。文件大速度就会慢下来,比如一个文件几百兆。写入日志的时候,会影响操作速度。另外,如果我想看看访问日志,一个几百兆的文件,下载下来打开也很慢。

注意:使用第三方免费的日志分析工具-日志宝,可以上传nginx、apache、iis的日志文件,它们帮助分析网站安全方面。毕竟专攻,更加专业。日志宝对上传的文件也是做了大小限制的,不超过50m。

2、日志自动切割脚本编写

nignx没有自动分开文件存储日志的机制。由于nginx它不会帮你自动分文件保存。所以,需要自己编写脚本来实现。

#!/bin/bash
# Program:
#   Auto cut nginx log script.
# 2016/6/15 luozhibo 

# nginx日志路径 /var/log/nginx/
LOGS_PATH=/var/log/nginx
TODAY=$(date -d 'today' +%Y-%m-%d)
#echo $TODAY

# 移动日志并改名
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${TODAY}.log
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${TODAY}.log

# 向nginx主进程发送重新打开日志文件的信号
kill -USR1 $(cat /var/run/nginx.pid)

上面shell脚本的原理是:

先把以前的日志文件移动重命名,目的是就是备份。

3、crontab自动任务配置

直接编写vim /etc/crontab 或者 直接通过echo写入自动任务

复制代码 代码如下:
echo '59 23 * * * root /var/log/nginx/nginx_log_division.sh >> /var/log/nginx/cutnginxlog.log 2>&1' >> /etc/crontab

每晚23:59分自动执行计划任务  以root用户身份运行  将自动任务的执行日志(错误和正确的日志)自动写入cutnginxlog.log  “命令 >> 2>&1” 表示以追加方式将正确输出和错误输出都保存到同一个文件中

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# centos  # nginx  # 日志分割  # 日志自动分割  # linux  # nginx日志分割 for linux  # nginx多server日志分割脚本分享  # CentOS 7.0下nginx实现每天定时分割日志  # Nginx利用Logrotate实现日志分割的详细过程  # nginx日志切割/分割之按天生成及定期删除日志  # Nginx日志分割实战  # Nginx日志按天分割实战  # 就会  # 客户端  # 我想  # 上传  # 帮你  # 解决问题  # 不超过  # 写到  # 中去  # 先把  # 第三方  # 来实现  # 很慢  # 大家多多  # 重命名  # 慢下来  # 网站访问量  # 大后  # 包含了  # 目的是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Android仿QQ列表左滑删除操作  简历没回改:利用AI润色让你的文字更专业  如何快速搭建安全的FTP站点?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何自定义建站之星模板颜色并下载新样式?  网站页面设计需要考虑到这些问题  Bootstrap CSS布局之列表  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Java垃圾回收器的方法和原理总结  Laravel如何使用Eloquent进行子查询  如何破解联通资金短缺导致的基站建设难题?  如何快速生成ASP一键建站模板并优化安全性?  如何快速生成专业多端适配建站电话?  Laravel如何使用Gate和Policy进行授权?(权限控制)  清除minerd进程的简单方法  Python文件异常处理策略_健壮性说明【指导】  java ZXing生成二维码及条码实例分享  Laravel如何使用withoutEvents方法临时禁用模型事件  Python并发异常传播_错误处理解析【教程】  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  常州企业网站制作公司,全国继续教育网怎么登录?  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  Laravel如何自定义分页视图?(Pagination示例)  MySQL查询结果复制到新表的方法(更新、插入)  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何快速搭建高效服务器建站系统?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  使用spring连接及操作mongodb3.0实例  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  如何快速查询域名建站关键信息?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  如何登录建站主机?访问步骤全解析  JavaScript模板引擎Template.js使用详解  Laravel怎么使用artisan命令缓存配置和视图  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何续费美橙建站之星域名及服务?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  详解Android图表 MPAndroidChart折线图  北京企业网站设计制作公司,北京铁路集团官方网站?  php结合redis实现高并发下的抢购、秒杀功能的实例  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  焦点电影公司作品,电影焦点结局是什么?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)