Chinaunix首页 | 论坛 | 博客
  • 博客访问: 253894
  • 博文数量: 159
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1619
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-10 19:58
文章分类

全部博文(159)

分类: Web开发

2016-07-26 14:40:38

服务器经常会产生各种各样的日志文件,我们需要定期清理

日志的分类

  • 系统日志

  • 应用日志

系统日志

例如系统的history 历史信息   crontab的运行日志  一般系统日志系统都帮我们运维好了,不需要额外配置

应用日志

例如nginx  的access 和 error 日志 ,php框架的运行日志,这些日志是我们排查问题的有力证据

工具logrotate

logrotate是什么

logrotate是大多数linux系统自带的日志切割工具

logrotate的适用场景

logrotate常用来切割仍在被写的“动态”文件,它支持 按时间间隔或文件大小 来触发文件的自动切分(automatic rotation)

实战

按天保存一周的Nginx日志压缩文件,保留30天,配置文件为「/etc/logrotate.d/nginx」

最后代码如下(本人ubuntu系统)

/data/logs/nginx/*.log {
        daily
	dateext
        missingok
	dateformat %Y%m%d
        extension .log
        rotate 30
        compress
        delaycompress
        notifempty
        create 640 nginx adm
        sharedscripts
        postrotate
                [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
        endscript
}

手动执行(-d debug模式 )

$ logrotate -d -f /etc/logrotate.d/nginx

具体logrotate更多用法请自行学习

原文地址:标签:            

智能推荐

阅读(1168) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~