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`