首页 > 系统相关 >Nginx日志按天自动切割的shell脚本

Nginx日志按天自动切割的shell脚本

时间:2023-01-19 15:11:06浏览次数:44  
标签:access www shell log nginx 按天 Nginx 日志

简介

默认情况Nginx会把所有访问日志生成到一个指定的访问日志文件access.log里,但这样一来,时间长了就会导致日志内容很多,不利于分析日志和处理,因此,有必要对Nginx按天或按小时切割成不同的文件进行保留,Nginx日志轮询有很多方法,本文给大家介绍使用Shell脚本实现按天切割的方法。

 

教程

日志切割脚本:

[root@www ~]# cat /scripts/cut_nginx_log.sh
#!/bin/bash
Date=`date +%Y%m%d -d -1day`
BaseDir="/app-lication/nginx"
NginxLogDir="$BaseDir/logs"
LogName="access_www"
[ -d $NginxLogDir ] && cd $NginxLogDir||exit 1
[ -f ${LogName}.log ]||exit 1
/usr/bin/mv ${LogName}.log ${Date}_${LogName}.log
$BaseDir/sbin/nginx -s reload

注意:脚本实现切割Nginx日志的思想为将正在写入的Nginx日志(access_www.log)改名为带日期的格式文件(20230116_access_www.log),然后平滑重新加载Nginx,生成新的Nginx日志(access_www.log)

 

设置定时任务

通过定时任务实现每天 00:05 定时执行/scripts/cut_nginx_log.sh切割日志。

[root@www ~]# vim /var/spool/cron/root
5 0 * * * /bin/sh /scripts/cut_nginx_log.sh >/dev/null 2>&1

日志切割演示

# 日志切割前
[root@www ~]# ls /app-lication/nginx/logs/
access.log access_www.log error.log nginx.pid
# 当前日期
[root@www ~]# date +%F
2023-01-17
# 手动执行日志切割脚本
[root@www ~]# sh /scripts/cut_nginx_log.sh
# 日志切割后
[root@www ~]# ls /app-lication/nginx/logs/
20230116_access_www.log access.log access_www.log error.log nginx.pid
# 将当前日期+1天
[root@www ~]# date -s '2023/01/18'
Fri Jan 18 00:00:00 CST 2023
# “第二天”执行日志切割脚本
[root@www ~]# sh /scripts/cut_nginx_log.sh
# 日志切割后
[root@www ~]# ls /app-lication/nginx/logs/
20230116_access_www.log 20230117_access_www.log access.log access_www.log error.log nginx.pid

Nginx常用日志收集及分析工具有rsyslog、awstats、flume、ELK、storm等。

标签:access,www,shell,log,nginx,按天,Nginx,日志
From: https://www.cnblogs.com/Alwayslearn/p/17061526.html

相关文章

  • Nginx与LUA(5)
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~Nginx诞生以来就获赞无数,反向代理、负载均衡、流量限制与流量扩展都是它的拿手好戏。基本上是互联网应用的主流入口,和计算......
  • Nginx与LUA(5)
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   Nginx诞生以来就获赞无数,反向代理、负载均衡、流量限制与流量扩展都是它的拿手好戏。基本上是互联网应用的主流......
  • 【反向代理】超全Nginx原理+实战篇
    文章目录​​1.Nginx简介和安装部署​​​​1.1.什么是Nginx​​​​1.2.Nginx的用途​​​​1.3.正向代理服务器​​​​1.4.反向代理服务器​​​​1.5.nginx安装部署​​......
  • shell 脚本请求接口报错
    2023-01-1822:07:07.984WARN11700---[io-9044-exec-10].w.s.m.s.DefaultHandlerExceptionResolver:Resolved[org.springframework.http.converter.HttpMessageNo......
  • 使用Graalvm加载Shellcode
    Graalvm介绍介绍Graalvm之前,首先就要了解Java编译的JIT和AOT是什么JIT(Just-in-Time,即时编译)和AOT(Ahead-of-Time,预编译),就像Java常见的是需要什么类,就加载进来编译并......
  • 通过php reverse shell进入目标机的方法
    在进入目标机的服务器管理员界面后,有时候发现可以通过上传或修改php文件来进入目标机 方法有很多: 1.netcat:这是基于netcat的方法首先得有一个phpreverseshell.ph......
  • Linux环境下nginx给wordpress站点配置http更换成https访问
    一、nginx添加ssl模块首先确认下自己的nginx是否有ssl模块,如没有,需要补安全,可以参考这篇文章《Nginx安装SSL模块教程及注意事项》。二、nginx配置#这个server是为了ht......
  • Nginx安装SSL模块教程及注意事项
    一、引言有的时候我们的Linux服务器上之前安装的nginx已经发布了web项目,但之前并没有用到https访问,之后又有需求了,要配置一个SSL证书,那一开始我们编译的Nginx并没有SSL模......
  • Nginx linux 安装
    (一)、在线安装nginx依赖包yum-yinstallgcczlibzlib-develpcre-developensslopenssl-devel 以下为离线安装依赖包:1.离线安装gcca.从CentOS7的系统安装......
  • adb shell 之 appops app控制命令
      允许后台运行------------appopssetorg.cloud.sonic.androidRUN_IN_BACKGROUNDallow允许发送信息-----------appopssetorg.cloud.sonic.androidPOST_NOTIFI......