博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Nginx设置日志分割方法
阅读量:4963 次
发布时间:2019-06-12

本文共 2728 字,大约阅读时间需要 9 分钟。

目标: nginx cronolog日志分割配置文档,每分钟分割一次NGINX访问日志。大体步骤如下:1.nginx日志配置 access_log /var/log/nginx/access.log_pipe main;
2.先创建一个命名管道 mkfifo /var/log/nginx/access.log_pipe 3.配置cronolog按年月日时分保存分割后的文件 nohup cat /var/log/nginx/access.log_pipe | cronolog /var/log/nginx/domain.access_%Y%m%d%H%M.log 2>&1 & 4.启动Nginx /usr/local/nginx/sbin/nginx 注意: cronolog必须在nginx启动前启动

最后详细讲解下cronolog的安装使用:

(1).直接用yum安装

1
[root@node6 src]# yum install -y cronolog httpd

 

 

好了,到这里我们的cronolog就安装完成了,下面我们来说一下cronolog如何使用。

 

(3)cronolog 使用

.基本使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[root@node6 ~]# cronolog -h
usage: cronolog [OPTIONS] logfile-spec
   -H NAME,   --hardlink=NAME maintain a hard link from NAME to current log
   -S NAME,   --symlink=NAME  maintain a symbolic link from NAME to current log
   -P NAME,   --prev-symlink=NAME  maintain a symbolic link from NAME to previous log
   -l NAME,   --link=NAME     same as -S/--symlink
   -h,        --help          print this help, then exit
   -p PERIOD, --period=PERIOD set the rotation period explicitly
   -d DELAY,  --delay=DELAY   set the rotation period delay
   -o,        --once-only     create single output log from template (not rotated)
   -x FILE,   --debug=FILE    write debug messages to FILE
                              ( or to standard error if FILE is "-")
   -a,        --american         American date formats
   -e,        --european         European date formats (default)
   -s,    --start-time=TIME   starting time
   -z TZ, --time-zone=TZ      use TZ for timezone
   -V,      --version         print version number, then exit

cronolog 一般是采取管道的方式来工作的,采用如下的形式:

1
[root@node6 ~]# loggenerator | cronolog log_file_pattern

其中,loggenerator为产生log的程序,而log_file_pattern是日志文件的路径,可以在其中加入cronolog所支持的时间相关的pattern字符,如/www/log/%y/%m/%d/access.log。其pattern为%字符后跟一特殊字符,简述如下:

转义符:  

1
2
3
%    %字符
n    换行
t    水平制表符

时间域:  

1
2
3
4
5
6
7
H    小时(00..23)
I    小时(01..12)
p    该locale下的AM或PM标识
M    分钟(00..59)
S    秒 (00..61, which allows for leap seconds)
X    该locale下时间表示符(e.g.: "15:12:47")
Z    时区。若时区不能确定,则无意义

日期域:  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
a    该locale下的工作日简名(e.g.: Sun..Sat)
A    该locale下的工作日全名(e.g.: Sunday ..  Satur-ay)
b    该locale下的月份简称(e.g.: Jan .. Dec)
B    该locale下的月份全称(e.g.:  January .. December)
c    该locale下的日期和时间(e.g.: "Sun Dec 15  14:12:47 GMT 1996")
d    当月中的天数 (01 .. 31)
j    当年中的天数 (001 .. 366)
m    月数 (01 .. 12)
U    当年中的星期数,以周日作为一周开始,其中第一周为首个含星期天的星期(00..53)
W    当年中的星期数,以星期一作为一周的开始,其中第一周为首个含星期天的星期(00..53)
w    工作日数(0 .. 6, 0表示星期天)
x    该locale下的日期表示(e.g. "13/04/97")
y    两位数的年份(00 .. 99)
Y    四位数的年份(1970 .. 2038)

 

 

下面是效果

1
2
3
4
5
6
7
[root@localhost ~]# cd /log/www/
[root@localhost www]# ll
total 15072
-rw-r--r-- 1 root root   16028 Dec 26 15:16 access_20131225.log
-rw-r--r-- 1 root root 2406307 Dec 26 23:59 access_20131226.log
-rw-r--r-- 1 root root 8292792 Dec 27 23:59 access_20131227.log
-rw-r--r-- 1 root root 4682211 Dec 28 18:56 access_20131228.log
 

转载于:https://www.cnblogs.com/lixiaoran/p/6206889.html

你可能感兴趣的文章
iPhone开机键坏了如何开机
查看>>
从C 到 OC----从面向过程到面向对象的转变
查看>>
Code analysis 笔记
查看>>
SSMS 远程连接SERVER 设置 - Unable to connect to SQL Server instance remotely
查看>>
jqGrid 自定义搜索
查看>>
结对开发地铁
查看>>
linux(centos)设置tomcat开机启动
查看>>
操作使用的常见的问题集合 http://bbs.ecshop.com/thread-95341-1-1.html
查看>>
BZOJ 2467 生成树(组合数学)
查看>>
dedecms关键词维护里面字数多的词优先字数少的词的解决办法 相关案例演示
查看>>
eclipse和android studio的目录结构分析
查看>>
我的第一个canvas的作品:漫画对白编辑器
查看>>
NYOJ题目100 1的个数
查看>>
用字符串连接SQL语句并用EXEC执行时,出现名称 '‘不是有效的标识符
查看>>
js前端读写文件的方法(json、excel)
查看>>
HDU4670 Cube number on a tree 树分治
查看>>
php的模板原理
查看>>
Beta阶段——第6篇 Scrum 冲刺博客
查看>>
Python学习一:序列基础详解
查看>>
netty权威指南学习笔记一——NIO入门(3)NIO
查看>>