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/....(存放脚本的路径)
分享到:
相关推荐
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 ``` 这个脚本会将当前的日志文件重命名为包含日期的备份,并发送...
接下来,定时切割Nginx访问日志(access.log)的主要目的是释放磁盘空间和便于日志分析。以下是相应的bash脚本: ```bash #!/bin/bash logs_path="/usr/local/webserver/nginx/logs/" DAYS=3 # 保留最多3天的日志 ...
"nginx日志按时间切割"是常见的日志管理策略,旨在通过定时分割日志文件,避免单个日志文件过大导致的读取性能下降和存储压力。本压缩包提供了一个用于Windows环境的批处理脚本,即`rename-nginx-logs-forwindow.bat...
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默认将访问日志记录在`/var/log/nginx/access.log`,错误日志记录在`/var/log/nginx/error.log`。日志切割是为了便于日志管理和存储,避免单个日志文件过大。以下是一个简单的日志切割方案: 1. **创建日志...
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`
日志切割脚本可以根据实际需求进行调整,例如定时执行(如通过cron job),或者增加压缩已切割的日志文件等功能。同时,为了保证服务的稳定性和安全性,日志目录的权限应适当地设定,一般建议Nginx运行用户对日志...
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默认的日志生成方式是将所有访问记录都写入到同一份access.log和error.log文件中,随着时间推移,这些文件可能会变得非常大。因此,我们需要采取措施来解决这个问题。 一种方法是通过编写脚本并结合定时...
2. **备份原日志**:在切割前,脚本会先将当前的日志文件重命名,添加时间戳作为后缀,例如`access.log.2022-08-01`,这样既保留了原始日志数据,又不会影响Nginx继续写入新的日志。 3. **创建新日志文件**:脚本会...
- `dateext`:在新生成的归档文件名后添加日期,如`access.log.20220925`。 - `notifempty`:只有当日志文件非空时才执行切割。 - `daily`:每天执行一次日志切割。 - `rotate 7`:保留最近7天的日志文件。 - `...
前言 Nginx日志默认情况下写入到一个文件中,为了区分各个域下的日志,我们一般会分开存储。即时这样,文件也会变的越来越...mv ${LOGS_PATH}/bbs.52itstyle.com.access.log ${LOGS_PATH}/bbs.52itstyle.com.access_$
保存此脚本到一个合适的位置,例如`/data/nginx/cut_nginx_log.sh`,然后为其添加执行权限: ```bash chmod +x /data/nginx/cut_nginx_log.sh ``` ##### 步骤二:设置定时任务 接下来,需要配置定时任务(Cron ...
其实原理简简单单,就是定时执行一下让shell脚本 脚本让原来access.log按照时间格式重新命名一下,并保存下来。 Shell脚本 #!/bin/bash # Every hour running time. # by bobliu. # The Nginx logs path log_year=$...
- **编写定时切割Nginx日志的脚本**:使用Cron作业定期执行日志切割脚本。 #### Nginx与JSP、ASP.NET、Perl的安装与配置 - **Nginx与JSP(Tomcat)**:Nginx可以作为前端反向代理,为Tomcat提供负载均衡和SSL终止...
本文将对Nginx日志配置及日志切割进行详细介绍。 首先,Nginx提供了多种日志配置指令,这些指令可以定义日志记录的行为和格式。以下是两个核心的指令: 1. access_log:此指令用于开启或关闭访问日志,并设置日志...
- 例如,如果当前有`access.log`,则会重命名为`20230901-access.log`,然后压缩为`20230901-access.log.gz`。 4. **通知Nginx重新打开日志文件:** - 通过`kill -USR1`信号通知Nginx重新打开日志文件,确保日志...