V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
daijinming
V2EX  ›  程序员

Nginx 日志按天生成怎么设置

  •  
  •   daijinming · 2018-05-31 15:28:32 +08:00 · 9558 次点击
    这是一个创建于 2154 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Nginx logs 目录下只有记录一个日志文件 access.log ,为了便于查找想然后日期生成,每天一个日志文件。查遍了百度还是无果,这里使用的版本是 windows 版本 nginx-1.14.0,想咨询下大伙

    12 条回复    2018-06-01 09:43:08 +08:00
    zbl430
        1
    zbl430  
       2018-05-31 15:59:02 +08:00
    可以看下 logrotate
    EthanLiao
        3
    EthanLiao  
       2018-05-31 16:31:11 +08:00
    #!/bin/bash

    logs_path="/usr/local/nginx/logs"

    mv ${logs_path}/book.log ${logs_path}/book-`date --date="last day" +%Y%m%d`.log
    mv ${logs_path}/book.error.log ${logs_path}/book.error-`date --date="last day" +%Y%m%d`.log

    kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

    find ${logs_path} -name "book*.log" -mtime +30 -delete

    # crontab -e
    # 0 0 * * * /usr/local/nginx/html/book/console/cut_nginx_log_daily.sh 2>&1
    amamiyasachi
        4
    amamiyasachi  
       2018-05-31 17:25:13 +08:00
    access_log syslog:server=127.0.0.1:514,facility=local7,tag=nginx_access_log,severity=debug;

    安装 rsyslog,配置:
    $ModLoad imudp
    $UDPServerRun 514
    $EscapeControlCharactersOnReceive off
    $template log, "/var/log/%syslogtag%_%$YEAR%%$MONTH%%$DAY%.log"
    : log
    Hardrain
        5
    Hardrain  
       2018-05-31 17:29:40 +08:00
    logrotate 了解下?
    greenskinmonster
        6
    greenskinmonster  
       2018-05-31 17:42:20 +08:00
    忘了哪里抄的了。
    非生产服务器,每天停一下服务处理下日志。

    @echo off
    @rem 获取当前时间
    set ToDay=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%

    @rem 关闭 nginx
    @net stop nginx
    move c:\nginx\logs\access.log c:\nginx\logs\%ToDay%_access.log

    @rem 启动 nginx
    @net start nginx
    my3157
        7
    my3157  
       2018-05-31 19:06:21 +08:00
    >> 这里使用的版本是 windows 版本 nginx-1.14.0

    windows 版本, syslog, logrotate, bash windows 下都挂了
    thinalai
        8
    thinalai  
       2018-05-31 19:09:08 +08:00
    cronolog 了解一下
    dayoushen
        9
    dayoushen  
       2018-05-31 19:45:10 +08:00
    收藏,想起上次在机场,另一个开发人员问我 nginx 的日志是 access 开头的吗?然后说他想把日志拿回来分析一下,最后让运维看了一下日志 100 多个 G。
    caola
        10
    caola  
       2018-05-31 19:54:34 +08:00
    https://oneinstack.com 一直都是用这个一键集成环境包,默认自带按日期分割,省了不少事。
    Infernalzero
        11
    Infernalzero  
       2018-05-31 20:44:41 +08:00   ❤️ 2
    if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
    set $year $1;
    set $month $2;
    set $day $3;
    }
    access_log logs/host-$year-$month-$day-access.log main;
    SimonFu
        12
    SimonFu  
       2018-06-01 09:43:08 +08:00
    我用 bt.cn
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1455 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:22 · PVG 01:22 · LAX 10:22 · JFK 13:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.