`

定时切割nginx的access.log

阅读更多

1 先写好切割日志的执行脚本!
实例代码好下:

#!/usr/bin/perl
use strict;
use POSIX qw/strftime/;
use File::Copy;

our ($hour,$min) = split/ /,strftime "%H %M",localtime;

rotate_log("pay.access.log");
#rotate_log("webservice.log");

sub rotate_log {
    my $log = shift;
    my $srcdir = "/data2/log/nginx";
    my $destdir = "/data2/nginx_log_backup";

    if ($hour == 0 and $min == 0) {  # run only at 00:00 each day
        my $lastday = strftime "%Y%m%d",localtime(time-3600);
        copy "$srcdir/$log","$destdir/$log.$lastday";
        system "echo -n > $srcdir/$log";
        system "gzip $destdir/$log.$lastday";
    }
} 
 


2 在liunx下面的/ect/crontab 下面建立一个定时任务.
比如:30 * * * * root /data/....(存放脚本的路径)

 

分享到:
评论

相关推荐

    nginx日志切割.rar

    mv /var/log/nginx/access.log /var/log/nginx/access.log.$DATE mv /var/log/nginx/error.log /var/log/nginx/error.log.$DATE nginx -s USR1 ``` 这个脚本会将当前的日志文件重命名为包含日期的备份,并发送...

    定时备份mysql, 定时切割nginx access log的方法

    接下来,定时切割Nginx访问日志(access.log)的主要目的是释放磁盘空间和便于日志分析。以下是相应的bash脚本: ```bash #!/bin/bash logs_path="/usr/local/webserver/nginx/logs/" DAYS=3 # 保留最多3天的日志 ...

    nginx日志按时间切割.zip

    "nginx日志按时间切割"是常见的日志管理策略,旨在通过定时分割日志文件,避免单个日志文件过大导致的读取性能下降和存储压力。本压缩包提供了一个用于Windows环境的批处理脚本,即`rename-nginx-logs-forwindow.bat...

    nginx日志文件切割

    ACCESS_LOG_PATH=/var/log/nginx/access.log ERROR_LOG_PATH=/var/log/nginx/error.log # 定义日志备份目录 LOG_BACKUP_DIR=/var/log/nginx/logs_backup # 当前日期 DATE=$(date +%Y%m%d) # 切割access.log mv $...

    nginx安装和nginx日志切割

    Nginx默认将访问日志记录在`/var/log/nginx/access.log`,错误日志记录在`/var/log/nginx/error.log`。日志切割是为了便于日志管理和存储,避免单个日志文件过大。以下是一个简单的日志切割方案: 1. **创建日志...

    05-nginx定时任务完成日志切割视频教程

    nginx定时任务完成日志切割视频教程 mkdir -p $log_path mv $log_base/access.log $log_path/access_$(date -d yesterday +"%Y%m%d").log kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

    Nginx自动日志切割

    日志切割脚本可以根据实际需求进行调整,例如定时执行(如通过cron job),或者增加压缩已切割的日志文件等功能。同时,为了保证服务的稳定性和安全性,日志目录的权限应适当地设定,一般建议Nginx运行用户对日志...

    实战Nginx.取代Apache的高性能Web服务器

    4.7 编写每天定时切割Nginx日志的脚本 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 5.1 Nginx与JSP(Tomcat)在Linux上的安装、配置 5.2 Nginx与ASP.NET(Mono+FastCGI)在Linux上的安装、配置 5.3 Nginx与...

    nginx日志按天生成和定期删除日志的方法

    首先,Nginx默认的日志生成方式是将所有访问记录都写入到同一份access.log和error.log文件中,随着时间推移,这些文件可能会变得非常大。因此,我们需要采取措施来解决这个问题。 一种方法是通过编写脚本并结合定时...

    logshell_linux_

    2. **备份原日志**:在切割前,脚本会先将当前的日志文件重命名,添加时间戳作为后缀,例如`access.log.2022-08-01`,这样既保留了原始日志数据,又不会影响Nginx继续写入新的日志。 3. **创建新日志文件**:脚本会...

    Linux系统下nginx日志每天定时切割的脚本写法

    - `dateext`:在新生成的归档文件名后添加日期,如`access.log.20220925`。 - `notifempty`:只有当日志文件非空时才执行切割。 - `daily`:每天执行一次日志切割。 - `rotate 7`:保留最近7天的日志文件。 - `...

    Nginx定时切割日志实现详解

    前言 Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会变的越来越...mv ${LOGS_PATH}/bbs.52itstyle.com.access.log ${LOGS_PATH}/bbs.52itstyle.com.access_$

    Linux下nginx生成日志自动切割的实现方法

    保存此脚本到一个合适的位置,例如`/data/nginx/cut_nginx_log.sh`,然后为其添加执行权限: ```bash chmod +x /data/nginx/cut_nginx_log.sh ``` ##### 步骤二:设置定时任务 接下来,需要配置定时任务(Cron ...

    Nginx日志切割-按小时

    其实原理简简单单,就是定时执行一下让shell脚本 脚本让原来access.log按照时间格式重新命名一下,并保存下来。 Shell脚本 #!/bin/bash # Every hour running time. # by bobliu. # The Nginx logs path log_year=$...

    实战Nginx.取代Apache的高性能Web服务器.2010

    - **编写定时切割Nginx日志的脚本**:使用Cron作业定期执行日志切割脚本。 #### Nginx与JSP、ASP.NET、Perl的安装与配置 - **Nginx与JSP(Tomcat)**:Nginx可以作为前端反向代理,为Tomcat提供负载均衡和SSL终止...

    详解Nginx日志配置及日志切割

    本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...

    linux Nginx 日志脚本

    - 例如,如果当前有`access.log`,则会重命名为`20230901-access.log`,然后压缩为`20230901-access.log.gz`。 4. **通知Nginx重新打开日志文件:** - 通过`kill -USR1`信号通知Nginx重新打开日志文件,确保日志...

Global site tag (gtag.js) - Google Analytics