linux shell:nginx日志切割脚本

Posted

tags:

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

需求原因:nginx不具备日志切割功能,日志量较大,方便分析。
实现目的:完成nginx日志切割,并根据时间命名
 
简要命令:
mv /usr/local/tengine/logs/access.log /usr/local/tengine/logs/access-date.log
kill -USER1 Nginx主进程号。
 
解释:
     通过mv命令重命名日志,并且通过kill -USER1 nginx-id的命令,告诉nginx需要写新的日志,
不然nginx不会在mv之后继续写日志。
 
我们可以通过nginx.pid文件来获取nginx的主进程号。
 
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`
 
详细脚本如下:
#######################################################################
#!/bin/bash
logs_bak_path="/usr/local/tengine/logs/wanbu_nginx_log"
logs_path="/usr/local/tengine/logs"
TIME=`date "+%Y-%m-%d"`
 
mv $logs_path/wanbu.access.log $logs_bak_path/wanbu.access.$TIME.log
kill -USER1`cat /usr/local/tengine/logs/nginx.pid`

以上是关于linux shell:nginx日志切割脚本的主要内容,如果未能解决你的问题,请参考以下文章

Linux10.7 Nginx日志切割

Linux-Nginx日志切割

Shell脚本切割日志

Apache日志切割shell脚本

shell脚本:nginx访问日志切割与打包上传

nginx 日志切割 shell脚本