首页 > 其他 > 详细

nginx 日志

时间:2021-07-29 01:12:49      阅读:26      评论:0      收藏:0      [点我收藏+]

nginx 日志切割

日志切割 是线上很常见的操作,能够控制单个日志文件的大小,便于对日志进行管理

针对nginx的访客日志进行切割

[root@localhost ~]# cd /opt/nginx1.8/logs/
[root@localhost logs]# ll -lh
total 136K
-rw-r--r-- 1 root root 72K Jul 28 20:04 access.log
-rw-r--r-- 1 root root 55K Jul 28 20:04 error.log
-rw-r--r-- 1 root root 5 Jul 28 15:56 nginx.pid
-rw-r--r-- 1 root root 5 Jul 28 15:56 nginx.pid.oldbin

给当前日志文件重命名,注意使用mv命令

[root@localhost logs]# mv access.log "access.log_$(date +"%Y-%m-%d")"

发送信号给nginx主进程,  给他发送一个重新打开的信号,让nginx生成新的日志文件

nginx -s reopen  #这个命令等同于 kill -USR1  `cat  nginx.pid` 

注意在以上的nginx重命名日志切割链,不要着急立即对文件修改,而是要注意等待几秒钟,

因为nginx的工作模式特点,master下发指令给worker去干活,刚发指令的时候只是一个标记,

当业务量很大的时候,这个修改操作可能会有点慢,不会立即生效。

在生产环境下,日志切割主要是以定时任务的形式来操作

编写一个定时日志切割的脚本

vim cut_nginx_log.sh 

[root@localhost ~]# cat cut_nginx_log.sh
#!/bin/bash
#脚本放入crontab,每天0点执行,只是一个nginx日志切割脚本
#nginx日志存放点
logs_path="/opt/nginx1.8/logs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y-%m-%d").log

# 也能换成 kill -USR1 `cat /opt/nginx1.8/logs/nginx.pid`
nginx -s reopen

技术分享图片

 

 

  tree 命令没有 可以洗下载 yum  install tree -y

把该脚本的执行,加入crontab 每天0点执行

crontab -e #打开定时任务

crontab -l  #查看定时任务

编辑如下内容

0 0 * * * bin/bash /root/cut_nginx_log.sh  #必须用绝对路径

 

nginx 日志

原文:https://www.cnblogs.com/sprr/p/15072865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!