`

请您先登录,才能继续操作

nginx 日志切割

阅读更多

由于nginx日志在运行之后会一直变大,然后会占用空间,甚至会影响系统,故准备将日志定期切割,然后删除定期的日志,查了网上的办法,将两篇比较好的文章综合一下,算是有效的解决了问题。

解决思路: 利用shell命令写一个定时脚本,每天定时执行。这里面牵涉两点,1是shell命令,2 是定时执行

1 shell命令如下

#!/bin/bash
#Rotate the Nginx logs to prevent a single logfile from consuming too much disk space. 
LOGS_PATH=/usr/local/nginx/logs
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 将nginxlogs下面的15天之前的日志文件删除
find /usr/local/nginx/logs/ -mtime +15 -type f -name *.log | xargs rm -f
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

 将文件名定为nginxLogRotate.sh,保存到目录/usr/local/nginx/logs

chmod  +x nginxLogRote.sh 这个不要忘了赋予执行权限

2 设置定时任务

vi /etc/crontab

0 0 * * * root /usr/local/nginx/nginxLogRotate.sh

 注意:nginxLogRotate.sh 这个文件不要放到/usr/local/nginx/logs这个目录下

find 那一行的命令会不生效

参考
https://blog.csdn.net/wangkai_123456/article/details/71056758

https://blog.csdn.net/winsonyuan/article/details/40379087

分享到:
评论

相关推荐

    windows 下 nginx 日志切割

    windows 下nginx 日志切割 结合windows任务计划,实现每天备份日志,并reopen nginx

    Nginx日志切割脚本

    Nginx日志切割脚本

    nginx安装和nginx日志切割

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

    nginx日志切割.doc

    nginx日志切割

    nginx日志切割.rar

    【Nginx日志切割详解】 在Web服务器的日常运维中,日志管理是一项至关重要的任务。Nginx作为一款高性能的HTTP和反向代理服务器,其日志记录功能可以帮助我们监控服务器状态、分析访问流量、排查问题等。然而,随着...

    nginx日志自动定时切割及清除脚本

    nginx日志自动定时切割及清除脚本

    windows nginx 按天切割日志

    windows nginx 按天切割日志

    Nginx日志切割清理脚本

    利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用

    Nginx配置负载均衡、动静分离、请求日志打印、日志切割、压缩、删除.md

    ### Nginx 配置详解:负载均衡、动静分离、请求日志打印、日志切割与管理 #### 一、Nginx配置负载均衡 **负载均衡**是Nginx的一项核心功能,它能帮助我们将客户端请求分发到不同的服务器上,从而提高系统的稳定性...

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

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

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割

    nginx按天进行日志切割脚本,同样适合其它很多服务日志的切割,压缩包包含shell切割脚本和使用说明,该脚本适合nginx同时也适合其他类似服务的日志切割,只要简单修改shell脚本即可,灵活多变,实用。

    Nginx日志切割-按小时

    Nginx日志切割-按小时序言原理Shell脚本验证脚本定时配置 序言 最近调试接口,做ip授权,涉及到了查看nginx日志,但是由于每日数据量太大,导致从现场导出日志过于费劲,时间过于漫长,所以想到了给日志做时间切割! ...

    nginx日志切割脚本分享

    ### Nginx日志切割脚本详解 #### 引言 在运维工作中,Nginx作为一款高性能的HTTP服务器及反向代理服务器,在处理大量访问请求时会产生庞大的日志文件。这些日志文件不仅占用大量的磁盘空间,还会影响系统的性能,...

    nginx日志切割

    每天让NGINX日志自动的生成日志,不至于日志都写在一个文件

    Crontab+Shell做Nginx日志切割脚本实例代码

    【Crontab+Shell做Nginx日志切割脚本】是Linux系统中常见的日志管理方式,主要用于解决日志文件过大导致的问题。Nginx作为一款广泛应用的Web服务器,其产生的日志文件可能会随着时间积累变得非常庞大,占用大量磁盘...

    nginx日志切割shell脚本

    【知识点详解】 1. **日志管理**:在IT运维中,日志管理是一项重要的...通过以上步骤,我们能够理解如何利用Shell脚本实现Nginx日志的自动切割、归档和清理,从而有效管理日志文件,提高系统的维护效率和资源利用率。

    Windows系统nginx日志分割批处理脚本

    : 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...

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

    1、添加nginx日志切割脚本 cd /etc/logrotate.d #进入目录 vi /etc/logrotate.d/nginx #编辑脚本 /usr/local/nginx/logs/*.log /usr/local/nginx/logs/nginx_logs/*.log{ missingok dateext notifem

    nginx日志文件切割

    **Nginx日志文件切割**是Web服务器管理中的一个重要环节,主要目的是为了定期归档、管理和优化存储空间。在高访问量的网站环境中,Nginx的日志文件可能会迅速增长,如果不进行适当的切割,可能会导致硬盘空间耗尽,...

Global site tag (gtag.js) - Google Analytics