编写shell文件:
[root@web-test ~]# vim /usr/local/nginx/sbin/cut_nginx_log.sh
#!/bin/bash
#这个脚本须在每天的00:00运行
#nginx日志文件的存放路径
logs_path="/usr/local/nginx/logs/"
mkdir -P ${logs_path}$(date -d "yesterday" + "%Y")/$(date -d "yesterday" + "%m")/
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" + "%m")/access_$(da
te -d "yesterday" + "%Y%m%d").log
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
为文件添加执行权限
[root@web-test ~]# chmod u+x /usr/local/nginx/sbin/cut_nginx_log.sh
设置定期执行任务
[root@web-test ~]# crontab -e
no crontab for root - using an empty one
00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh
分享到:
相关推荐
windows 下nginx 日志切割 结合windows任务计划,实现每天备份日志,并reopen nginx
windows nginx 按天切割日志
切割日志文件通常有两种方式:基于时间(例如每天或每月)和基于文件大小。时间切割适合按照日期归档,方便查询特定时间段的数据;大小切割则确保单个日志文件不会过大,有利于提高文件读取效率。 本文提到的`...
"nginx日志按时间切割"是常见的日志管理策略,旨在通过定时分割日志文件,避免单个日志文件过大导致的读取性能下降和存储压力。本压缩包提供了一个用于Windows环境的批处理脚本,即`rename-nginx-logs-forwindow.bat...
: 为限制 Nginx日志文件大小增加,文件过大,导致无法收缩日志,在配置好的nginx的安装目录下,可以采用批处理文件对日志,根据实际需要的时间进行自动切割,本脚本以天为单位进行保存。对于日志备份功能,因存储...
Nginx自动日志切割是解决日志文件过大,占用磁盘空间,以及方便历史数据检索的有效手段。 首先,Nginx日志的生成和配置。日志格式可以自定义,例如使用`log_format`指令设置日志模板。如文中的`main`格式,它包含了...
NULL 博文链接:https://baobeituping.iteye.com/blog/2165977
利用crontab定时机制触发shell脚本,自动切割nginx的日志文件,并实现自动清理,可直接在服务器上上传使用
- `create 640 nginx adm`:切割后创建新日志文件,权限为640,属主为nginx,属组为adm。 - `postrotate`和`endscript`之间的命令会在每次切割后执行,这里是发送信号让Nginx重载配置,从而让新的日志文件生效。 ...
它可以与 Nginx、Apache 等 Web 服务器集成,实现日志文件的自动切割和压缩。 6. Logrotate 的相关命令 Logrotate 有多个相关命令,例如 logrotate -f /etc/logrotate.d/nginx 可以手动执行 Logrotate,logrotate ...
随着网站流量的增长,日志文件也会越来越大,这时需要定期对日志进行切割。 **4.1.1 使用 Logrotate** Logrotate 是 Linux 系统中常用的日志轮换工具,配置文件通常位于 `/etc/logrotate.d/` 目录下。 示例配置...
Nginx自身并不直接支持日志切割,但可以通过信号`USR1`来优雅地重新打开日志文件,使得新日志写入新的文件,而旧日志仍可被后续处理。 三、配置Nginx日志切割 1. **设置日志文件路径** 在Nginx配置文件(通常是`...
关于日志的切割,随着Web服务的持续运行,日志文件会变得越来越大,为避免单个日志文件过大导致的问题,如磁盘空间的浪费和日志分析的不便,我们需要对日志文件进行定期的切割。日志切割一般是指将当前正在写的日志...
加到计划任务里,每天自动分割 nginx日志,低分白送,windows版本批处理文件哦
本解本实现了使用shell脚本实现nginx日志分割,大家如果没资源分下载,可以转至:https://mp.csdn.net/mdeditor/85233117# 去查看源代码。谢谢大家
实现需求 本文实现的功能是在吗每天凌晨00:00把前一天的Nginx日志access.log重命名为access-xxxx-xx-xx.log格式,例如:access-2016-10-01.log,下面话不多说了,来看看详细的实现方法吧。...#Nginx日志文件所在目录
docker在运行过程中会产生庞大的日志,nginx在运行中会产生庞大的日志,tomcat在运行中会产生庞大的日志,这些日子其实我们并不是很需要,所以要把他们清理掉。
【知识点详解】 1. **日志管理**:在IT运维中,日志管理是一项重要的...通过以上步骤,我们能够理解如何利用Shell脚本实现Nginx日志的自动切割、归档和清理,从而有效管理日志文件,提高系统的维护效率和资源利用率。
1. 创建一个名为`cut_nginx_logs.sh`的脚本,用于重命名日志文件并重启Nginx。在脚本中,你可以设置日志文件的路径、要分割的日志文件名,以及保留日志的天数。脚本会将当天的日志重命名为包含日期的文件,并删除...