028_切割 Nginx 日志文件(防止单个文件过大,后期处理很困难)

mkdir /data/scripts
vim /data/scripts/nginx_log.sh

#!/bin/bash
logs_path="/usr/local/nginx/logs/"
mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
chmod +x /data/scripts/nginx_log.sh

#脚本写完后,将脚本放入计划任务每天执行一次脚本
crontab -e
0 1 * * * /data/scripts/nginx_log.sh

# USR1亦通常被用来告知应用程序重载配置文件;例如,向Apache HTTP服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

原文地址:https://www.cnblogs.com/luwei0915/p/10515639.html

时间: 2024-12-10 11:48:01

028_切割 Nginx 日志文件(防止单个文件过大,后期处理很困难)的相关文章

nginx日志不记录静态文件访问和缓存

nginx访问日志nginx和apache的访问日志一样可以记录的指定信息,如记录服务器时间,访问的客户端ip.访问的url和访问状态码等信息,这些信息会规律的记录到访问日志中主配置文件中定义的日志格式,记录的格式参数解释如下 $remote_addr ? ? ? ? ? ? ? ? ? 客户端访问IP(公网IP) $http_x_forwarded_for ? ? ? ? ? 记录代理服务器的IP $time_local ? ? ? ? ? ? ? ? ? ? 日志中服务器本地时间 $host

烂泥:切割nginx日志

这几天自己看了下博客的nginx日志,发现日志文件发现越来越大. 因为nginx自己不会对日志文件进行切割,所以打算通过其他方式进行切割,而且为了后续能对nginx日志文件里面记录的数据进行分析,所以打算按照天对其进行切割. PS:本篇文章所以的操作是在centos6.5 OS 64bit上进行. 切割nginx日志,我们可以通过两种不同的方式进行,分别是:通过logrotate和通过shell脚本. 如果是yum方式安装的nginx,系统默认会自动通过logrotate这个日志管理软件,按天进

nginx日志切割,日志格式,静态文件不记录日志,配置缓存

我是直接写的一个简单的shell实现的,内容如下: #! /bin/bash datedir=`date +%Y%m%d` /bin/mkdir  /home/logs/$datedir >/dev/null 2>&1 /bin/mv /home/logs/*.log /home/logs/$datedir /bin/kill -HUP `cat /var/run/nginx.pid` 这样执行以后,就会在/home/logs/$datedir目录下生成日志文件,你可以在/etc/cr

python切割nginx日志脚本

#!/usr/bin/env python #-*-coding:utf-8-*- #Python nginx cut log 1 import subprocess def mkdir(): subprocess.call('mkdir -pv /usr/local/nginx/logs/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/',shell=Tru

切割nginx日志

一.使用logrotate切割 yum安装的nginx会自动使用logrotate这个日志管理软件进行切割,所以本章节我们主要介绍有关logrotate相关的知识点. [[email protected] bin]# yum install -y nginx 1.1 logrotate介绍 logrotate是什么呢?它是一个linux系统日志的管理工具.它可以切割.压缩等其他软件的日志文件软件. 我们可以通过如下命令安装logrotate,如下: [[email protected] bin]

Linux下定时切割nginx日志并删除指定天数前的日志记录

nginx的log日志分为access.log和error.log:其中access.log 记录了哪些用户.哪些页面以及用户浏览器.ip和其他的访问信息:error.log则是记录服务器错误日志. error.log日志的形式如下: 201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythontab.com GET /html/test.html HTTP/1

使用logrotate切割nginx日志

配置:1.在/etc/logrotate.d目录下创建一个nginx的配置文件"nginx"配置内容如下 #vim /etc/logrotate.d/nginx/usr/local/nginx/logs/*.log {dailyrotate 5missingoknotifemptysharedscriptspostrotate    if [ -f /usr/local/nginx/logs/nginx.pid ]; then        kill -USR1 `cat /usr/l

使用Logrotate 切割nginx日志

[[email protected] pang]# cat /etc/logrotate.d/nginx /usr/local/nginx/logs/*log { monthly size=1000M missingok rotate 99 create compress delaycompressnotifempty sharedscripts postrotate [ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /us

每天定时切割nginx日志

每天凌晨运行切割日志的shell脚本 10 00* * * /bin/bash  /usr/local/nginx/sbin/cut_nginx_log.sh 脚本如下 #!/bin/bash # #This script run at 00:10 ## The Nginx logs path logs_path="/usr/local/nginx/logs/" ##递归建年目录,月目录 mkdir -p ${logs_path}$(date -d "yesterday&qu