nginx日志切割

nginx的访问日志如果不做切割默认都是保存在一个文件里面的,如果网站出现问题或者故障,要从几个G的日志文件里面查找问题非常不方便,采用脚本每天做一次日志切割。

日志切割脚本

#!/bin/bash
#此脚本用于自动分割Nginx的日志,包括access.log和error.log
#每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件
#Nginx日志文件所在目录
LOG_PATH=/home/servers/**/nginx/logs/
#获取昨天的日期
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
#获取pid文件路径
#PID=/home/servers/**/logs/nginx.pid
#分割日志
mv ${LOG_PATH}access.log ${LOG_PATH}access-${YESTERDAY}.log
mv ${LOG_PATH}error.log ${LOG_PATH}error-${YESTERDAY}.log
#docker 命令重新加载nginx容器配置文件生成信息的日志文件
docker exec nginx nginx -s reload
#向Nginx主进程发送USR1信号,重新打开日志文件
#kill -USR1 `cat ${PID}`

定时任务

每天凌晨十二点准时执行定时任务
00 00 * * * /bin/bash /home/scripts/cut_nginx_log.sh

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nginx日志切割 方法1(脚本+定时执行): #step1:加脚本 cut_nginx_log.sh,主进程把U...
    heaven_touch阅读 13,715评论 0 3
  • 前几天查看了下nginx的日志文件access.log,发现居然有二十几个G了! 于是准备使用Shell脚本的方式...
    就没一个昵称能用阅读 4,827评论 0 4
  • NGINX日志切割 @(nginx笔记)[nginx] 非常简单的分割NGINX的日志文件,方便查阅。流程1.将当...
    ahhhhhhhh阅读 3,138评论 0 1
  • 基本原理:在凌晨0点0分讲老日志文件重命名,新的日志写到原文件名中。由于nginx即使重命名还是会写到新文件名里面...
    金色的清晨阅读 1,573评论 0 0
  • 在年少的时候,每个人心中都有一个人值得我们用心等待和值得爱的,等到长大后,我们不得不从自己的记忆中忘却这个人的时候...
    钱莱爱读书阅读 2,953评论 2 3