文档章节

nginx日志切割

o
 osc_1ee7cxmx
发布于 2018/08/06 16:38
字数 528
阅读 0
收藏 0

使用系统自带的logrorate来切个nginx日志,位于/usr/sbin/logrotate

[root@PayServer haproxy]# cat /etc/logrotate.d/nginx 
/home/nginx/logs/*.log {  #指定切割日志文件路径
        daily
        missingok
        dateext
        rotate 365
        nocompress
        notifempty
        olddir /home/nginx/logs/days/  #指定切割后日志存放的位置
        create 755 root adm
        sharedscripts
        postrotate
                [ -f /home/nginx/logs/nginx.pid ] && kill -USR1 `cat /home/nginx/logs/nginx.pid`
        endscript
}

  • 需要注意的是你们的nginx.pid位置,不一定是在/home/nginx/logs/nginx.pid
 

 

配置 说明
daily 指定转储周期为每天
weekly 指定转储周期为每周
monthly 指定转储周期为每月
rotate 转储次数,超过将会删除最老的那一个
missingok 忽略错误,如“日志文件无法找到”的错误提示
dateext 切换后的日志文件会附加上一个短横线和YYYYMMDD格式的日期
compress 通过gzip 压缩转储旧的日志
delaycompress 当前转储的日志文件到下一次转储时才压缩
notifempty 如果日志文件为空,不执行切割
sharedscripts 只为整个日志组运行一次的脚本
prerotate/endscript 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

执行该命令测试

logrotate -vf /etc/logrotate.d/nginx

reading config file /etc/logrotate.d/nginx
reading config info for /home/nginx/logs/*.log 
olddir is now /home/nginx/logs/days/

Handling 1 logs

rotating pattern: /home/nginx/logs/*.log  forced from command line (365 rotations)
olddir is /home/nginx/logs/days/, empty log files are not rotated, old logs are removed
considering log /home/nginx/logs/access.log
  log does not need rotating
considering log /home/nginx/logs/error.log
  log needs rotating
rotating log /home/nginx/logs/error.log, log->rotateCount is 365
dateext suffix '-20180806'
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
glob finding old rotated logs failed
renaming /home/nginx/logs/error.log to /home/nginx/logs/days//error.log-20180806
creating new /home/nginx/logs/error.log mode = 0755 uid = 0 gid = 4
running postrotate script

查看生产的日志文件

 

每日0点执行脚本

  • 在终端运行 crontab -e
  • 插入以下语句
0 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/nginx

参考链接:http://www.cnblogs.com/snowater/p/8340238.html
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

Vue+Spring Data JPA+MySQL 增查改删

视频讲解: https://www.bilibili.com/video/BV16i4y1G7i2/ 工程概述: 前后端分离,进行简单增查改删(CRUD) 前端使用VUE 后端使用Spring Data JPA 数据库使用MySQL #EmployeeController.jav...

潘文海
25分钟前
13
0
我花了一个星期,做出了公司的管理系统,只需几个步骤!

我是企业的管理人员,公司发展到现阶段,感觉进入到了瓶颈期,每个员工的工作都已经饱和,很难再挤出时间做其它的事情,需要一款合适的管理软件来协作我们的工作。本来打算买一套管理软件就行...

科技那些事儿
29分钟前
19
0
如何从Android应用程序获取崩溃数据? - How do I obtain crash-data from my Android application?

问题: How can I get crash data (stack traces at least) from my Android application? 如何从我的Android应用程序获取崩溃数据(至少是堆栈跟踪)? At least when working on my own de......

技术盛宴
39分钟前
16
0
使用telnet测试指定端口的连通性

大家好,我是良许。 大家知道,telnet 是一个阉割版的 ssh ,它数据不加密,数据容易被盗窃,也容易受中间人攻击,所以默认情况下 telnet 端口是必须要被关闭的。 telnet为用户提供了在本地计...

良许Linux
43分钟前
13
0
创建python项目-从0到1开始Django第二篇

接上一篇:基于Centos7系统Django环境搭建-从0到1开始Django第一篇 https://my.oschina.net/guiguketang/blog/4333406 1.项目初始化 #django-admin startproject mysite 2.启动服务,执行man...

硅谷课堂
52分钟前
29
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部