nginx日志文件切割

骑猪看日落 2022-04-11 05:29 383阅读 0赞

创建脚本logcut.sh,放到/opt/nginx/sbin下

在windows下编辑,可以把dos转unix格式

  1. #!/bin/bash
  2. ## 零点执行该脚本
  3. ## Nginx 日志文件所在的目录
  4. LOGS_PATH=/opt/nginx/logs
  5. ## 获取昨天的 yyyy-MM-dd
  6. YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
  7. ## 移动文件
  8. mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
  9. mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
  10. ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
  11. kill -USR1 $(cat /opt/nginx/logs/nginx.pid)

(注意nginx.pid路径,在nginx.conf里配置)

设置权限,添加可执行

cd /opt/nginx/sbin
chmod 755 logcut.sh

添加到crontab

crontab -e 编辑crontab,添加如下内容

  1. 0 0 * * * /bin/bash /opt/nginx/sbin/logcut.sh > /dev/null 2>&1

后面添加的 > /dev/null 2>&1的意义是把消息和错误输出到空设备,不让系统发邮件

crontab -l 查看crontab

参考:

Nginx 日志文件切割
http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html

发表评论

表情:
评论列表 (有 0 条评论,383人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Nginx日志切割

    Nginx日志没有类似Apache这样通过cronlog或者rotatelog对日志分割处理的能力。实际的问题是线上的日志如果不按天进行切割,那么日志就会越来越大,可以达到几G

    相关 Nginx日志切割

    默认情况下,nginx的日志比如:error.log,access.log都保存在/usr/local/nginx/logs目录下,慢慢的,日志会累积的越来越大,因此我们需要以

    相关 nginx日志切割

    概述 nginx的日志一般保存在logs文件夹下,随着运行时间加长,日志文件越来越大,阅读和查找也更加困难 有必要对日志文件进行切割  一般是以天为单位 添加定时任

    相关 nginx日志切割

    Web 访问日志 (access\_log) 记录了所有外部客户端对Web服务器的访问行为,包含了客户端IP,访问日期,访问的URL资源,服务器返回的HTTP状态码等重要信息。