文档章节

nginx日志自动切割

em_aaron
 em_aaron
发布于 01/19 23:40
字数 327
阅读 11
收藏 0

1.日志配置(Nginx 日志)

access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;
error.log------记录服务器错误的日志

 

#配置日志存储路径:
location / {
         access_log          /usr/local/nginx/logs/access.log;
         error_log           /usr/local/nginx/logs/error.log;
}

按自己要求配置日志格式:

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  60;
    include  /usr/local/nginx/vhost/*.conf;
    log_format main '$remote_addr -$remote_user [$time_local] "request"'
                    '$status $body_bytes_sent "$http_referer"'
                    '"$http_user_agent" "$http_x_forwarded_for"'
                    '"$gzip_ratio" $request_time $request_length' ;
    open_log_file_cache max=1000 inactive=60s;
}

    操作完上面的,日志就按自己的要求格式存储在指定位置

2.日志切割(按天进行日志切割)

   A.编写脚本

#!/bin/bash
year=`date +%Y`
month=`date +%m`
day=`date +%d`
logs_backup_path="/usr/local/nginx/logs_backup/$year$month"               #日志存储路径

logs_path="/usr/local/nginx/logs/"                                                             #要切割的日志路径
logs_access="access"                                                                            #要切割的日志
logs_error="error"
pid_path="/usr/local/nginx/logs/nginx.pid"                                                 #nginx的pid

[ -d $logs_backup_path ]||mkdir -p $logs_backup_path
rq=`date +%Y%m%d`
#mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

3.做定时任务

crontab –e
59 23 * * * bash /usr/local/nginx/shell/cut_ngnix_log.sh   #每天23:59分开始执行;

 

© 著作权归作者所有

共有 人打赏支持
em_aaron
粉丝 74
博文 111
码字总数 195178
作品 3
黄浦
高级程序员
私信 提问
加载中

评论(2)

em_aaron
em_aaron

引用来自“松竹斋”的评论

又在重复的造轮子了,Logrotate 了解一下
多谢不吝赐教😬
松竹斋
松竹斋
又在重复的造轮子了,Logrotate 了解一下
日志切割操作梳理(Logrotate/python/shell脚本实现)

本文转自:运维中的日志切割操作梳理(Logrotate/python/shell脚本实现) 对于 Linux 系统安全来说,日志文件是极其重要的工具。不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天...

blackfoxya
2018/06/28
0
0
Nginx 日志自动切割(Centos6.8)

前几天看nginx日志,发现日志文件发现越来越大。下载分析非常不方便,所以打算按天对其进行切割,使用shell脚本方式进行切割。 当前使用Nginx安装到了/usr/local/nginx 创建分割shell脚本 在...

阿刚ABC
2018/09/29
0
0
Nginx系列-4.Nginx日志配置及日志切割

Nginx系列-4.Nginx日志配置及日志切割 目录 - Nginx系列 Nginx系列-1.Linux下安装Nginx Nginx系列-2.配置LNMP(Linux、Nginx、MySQL、PHP)架构 Nginx系列-3.配置Nginx虚拟主机 Nginx系列-4....

ngle
2018/06/08
0
0
logrotate日志切割配置

1 logrotate介绍 logrotate软件是一个日志管理工具,用于非分隔日志,删除旧的日志文件,并创建新的日志文件,起到“转储作用”,可以为系统节省磁盘空间。一般centos系统已经自带安装好了。...

茁壮的小草
2018/07/02
0
0
Linux下logrotate服务

一.配置文件 Linux系统默认安装logrotate工具,它默认的配置文件在: /etc/logrotate.conf /etc/logrotate.d/ (1)logrotate.conf 是主要的配置文件,logrotate.d 是一个目录,该目录里的所...

a8757906
2017/07/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

学习设计模式之路

https://java-design-patterns.com/patterns/ https://www.oodesign.com/ https://www.programering.com/a/MTNxAzMwATY.html https://design-patterns.readthedocs.io/zh_CN/latest/ https:/......

晨猫
今天
1
0
JDK1.8 jar包说明

JDK 1.8 lib:access-bridge-64.jarcharsets.jarcldrdata.jardeploy.jardnsns.jarjaccess.jarjavawa.jarjce.jarjfr.jarjfxrt.jarjfxswt.jarjsse.jarlocaledata.jar......

冷基
今天
1
0
判断用户的icloud是否开启【Swift4.2】

使用icloudkit存储用户私人数据时,必须判断用户的icloud是否开启【Swift4.2】 func isICloudContainerAvailable()-> Bool { if FileManager.default.ubiquityIdentityToken != ni......

叶落花开
今天
2
0
今天的学习

1、执行git add *命令就把改动提交到了暂存区,执行git pull命令将远程仓库的数据拉到当前分支并合并,执行git checkout [branch-name]切换分支 2、执行git commit -m '说明' 命令就把改动提...

墨冥
昨天
0
0
Android4.4 及以下TextView,Button等控件使用矢量图报错

1 问题描述 最近项目开发中,图标资源我尽量使用了矢量图,然而配置了基本的兼容设置,程序在低版本中运行还是出现了问题。 xml布局文件中,在TextView中使用矢量图,比如android:drawableS...

newtrek
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部