实现对nginx日志切割

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现对nginx日志切割相关的知识,希望对你有一定的参考价值。

nginx的信号控制:例如:kill -QUIT N

TERM,INT 快速关闭
QUIT  从容关闭
HUP   平滑重启,重新加载配置文件
USR1  重新打开日志文件,在切割日志时用途比较大
USR2  平滑升级可执行程序
WINCH 从容关闭工作进程


切割日志文件:

用来定期切割较大日志文件,创建bash脚本,并创建计划任务cron。

脚本内容:

#!/bin/bash


### nginx Access Log Separation ###

LOG_PATH="/usr/local/nginx/logs"

YESTERDAY="$(date -d "yesterday" +%Y%m%d)"

NGINX_PID=`/bin/cat /usr/local/nginx/logs/nginx.pid`


### WEB Access Log Separation ###

mv ${LOG_PATH}/web/web_access.log ${LOG_PATH}/web/web_access.log-${YESTERDAY}

if [[ "$?" = "0" ]];then

        echo "Move Successfully."

fi


### Reload Nginx To Create New Log Files ###

/bin/kill -USR1 ${NGINX_PID}


计划任务:

0 0 * * * /bin/bash /usr/local/nginx/sbin/CutAccessLog.sh


本文出自 “Mask_X 博客” 博客,请务必保留此出处http://zhpfbk.blog.51cto.com/4757027/1878890

以上是关于实现对nginx日志切割的主要内容,如果未能解决你的问题,请参考以下文章

Nginx 访问日志轮询切割

Linux下添加shell脚本使得nginx日志每天定时切割压缩

Nginx日志切割

Nginx日志按日期切割详解(按天切割)

Nginx服务优化日志分割

Nginx 日志切割