nginx日志切割(手动/自动)

由于日志文件每时每刻都有可能产生,随着时间的积累,势必会导致Log文件体积越来越大,因此需要对nginx日志进行必要的切割措施。

Nginx日至切割-手动切割日志

  1. 创建一个shell可执行文件:cut_my_log.sh,内容如下:

    #!/bin/bash
    LOG_PATH="/var/log/nginx/"
    RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
    PID=/var/run/nginx/nginx.pid
    mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
    mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
    
    #向Nginx主进程发送信号,用于重新打开日志文件
    kill -USR1 `cat $PID`
    
    
  2. 为cut_my_log.sh添加可执行的权限

    chmod +x cut_my_log.sh
    
  3. 测试日志切割后的效果

    6tBzlL

Nginx日志切割-自动切割日志

  1. 安装定时任务

    yum -y install crontabs
    
  2. crontab -e 编辑并且添加一行新的任务

    */1 * * * * /usr/local/nginx/sbin/cut_my_log.sh  #每分钟执行一次文件
    
  3. 重启定时任务

    ```bash
    

service crond restart
```

  • 附:常用定时任务命令

    • service crond start //启动服务
    • service crond stop //关闭服务
    • service crond restart //重启服务
    • service crond reload //重新加载服务
    • crontab -e //编辑任务
    • crontab -l //查看任务列表

    定时任务表达式

    Cron 表达式,分为5~6个域,每个域代表一个含义,具体如下表

    星期几
    0~59 0~23 1-31 1-12 1~7 2019/2020/2021

    常用表达式

原文地址:https://www.cnblogs.com/shine-rainbow/p/12855619.html