linux shell:nginx日志切割脚本

时间:2021-02-20 07:37:34
需求原因: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`