zoukankan      html  css  js  c++  java
  • nginx分割日志

    实现nginx日志按照时间分割存储

    backups_log.sh

    #设置log日志的存储地址
    LOG_PATH=/home/soft/nginx/logs
    #设置历史日志的存储地址
    HISTORY_LOG_PATH=/home/soft/nginx/history_logs
    #获取分割日志时所需要的时间当做日志文件名称
    TIME=$(date +%Y-%m-%d)
    #将当前日志备份到指定存储目录
    mv ${LOG_PATH}/access.log ${HISTORY_LOG_PATH}/access_log/${TIME}_access.log
    #发送信号重新打开日志文件
    kill -USR1 $(cat ${LOG_PATH}/nginx.pid)

    将sh脚本加入到定时任务中,每天23:59执行

    crontab -e

    添加定时任务

    59 23 * * * /home/sh/backups_log.sh

    注意事项:

    1.在没有执行kill -USR1 nginx_pid 之前,即便已经对文件执行了mv命令也只是改变了文件的名称,nginx还是会向新命名的文件中照常写入日志数据。原因在于linux系统中,内核是根据文件描述符来找文件的

    2.添加定时任务后如果定时任务没有起作用,则使用 ps -aux | grep cron 确认下服务是否已经开启

    3. -USR1 是进程间通信的信号中的一种,至于nginx进程接收到该信号做什么操作是它内部定义的,除此之外我们可以使用 kill -l 确认liunx中包含哪些信号

  • 相关阅读:
    css优化总结
    几种常用的图片格式
    css布局总结
    第四章复习题
    4.9,4.10
    4.8
    4.7指针
    libffi
    代理模式
    Redis 汇总
  • 原文地址:https://www.cnblogs.com/itsuibi/p/11223232.html
Copyright © 2011-2022 走看看