您的位置:首页 > 运维架构 > Shell

linux shell:nginx日志切割脚本

2016-02-22 13:58 113 查看
需求原因: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`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: