nginx日志切割脚本

来源:互联网 发布:宏观审慎管理知乎 编辑:程序博客网 时间:2024/05/28 11:29

生产服务上,nginx日志增涨量非常大,方便管理查询实行日志切割。

脚本:

#!/bin/bash#初始化LOGS_PATH=日志路径YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)#按天切割日志mv ${LOGS_PATH}/access.log /data/cutlogs/access_${YESTERDAY}.log#向 Nginx 主进程发送 USR1 信号,重新打开日志文件,否则会继续往mv后的文件写内容,导致切割失败.kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'`#删除7天前的日志cd /data/cutlogsfind . -mtime +30 -name "*20[1-9][3-9]*" | xargs rm -fexit 0

USR1亦通常被用来告知应用程序重载配置文件;向nginx服务器发送一个USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

原创粉丝点击