最新消息:欢迎加入小松的QQ群一起讨论一起学习,服务器快到期了,新买了台服务器,最近要做服务器迁移

nginx这货不会自动切割日志

Linux 731浏览 0评论

nginx

nginx没有办法自动切割日志或者说日志没有轮询,如果网站访问打大之后,访问日志都会集中到一个文件里,每天都可能产生几个M或几个G的日志,每天累加日志对于服务器IO性能影响很大。如果访问量很大我们可以按天或者按小时备份日志。我在网上查了一下一般都是用shell脚本来定时备份。
下面是脚本的内容

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

我这个脚本kill nginx的进程感觉有点不靠谱,如果大家有好的脚本留言给我

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» nginx这货不会自动切割日志
本文链接地址:https://www.phpsong.com/916.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!