nginx 日志切割_nginx日志分割

  随着每时每刻用户都在访问,Nginx会不断地增长。然后Nginx不会自动切割日志,当日志文件越来越大当时候,不仅浪费磁盘空间,nginx的性能也会降低。   日志分割有两个方法,一:用脚本去做处理。二:用linux系统的logrotate来处理。   现在,要介绍的是用Logrotate分割。

一、Logrotate说明

  logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。我们可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行。    

配置说明
daily指定转储周期为每天
weekly指定转储周期为每周
monthly指定转储周期为每月
rotate count指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
compress通过gzip 压缩转储以后的日志
nocompress不做gzip压缩处理
create mode owner group轮转时指定创建新文件的属性,如create 0777 nobody nobody
nocreate不建立新的日志文件
delaycompress和compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress覆盖 delaycompress 选项,转储同时压缩
missingok如果日志丢失,不报错继续滚动下一个日志
ifempty即使日志文件为空文件也做轮转,这个是logrotate的缺省选项
notifempty当日志文件为空时,不进行轮转
mail address把转储的日志文件发送到指定的E-mail 地址
olddir directory转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir转储后的日志文件和当前日志文件放在同一个目录下
sharedscripts运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本
prerotate在logrotate转储之前需要执行的指令,例如修改文件的属性等动作;必须独立成行
postrotate在logrotate转储之后需要执行的指令,例如重新启动 (kill -HUP) 某个服务!必须独立成行
dateext使用当期日期作为命名格式
dateformat .%s配合dateext使用,紧跟在下一行出现,定义文件切割后的文件名,必须配合dateext使用,只支持 %Y %m %d %s 这四个参数
size(minsize)log-size 当日志文件到达指定的大小时才转储,log-size能指定bytes(缺省)及KB (sizek)或MB(sizem),例如 size 100M
二、创建nginx分割文件

vi /etc/logrotate.d/nginx

编辑如下

/usr/local/nginx/logs/*access.log{  olddir /data/bk/nginx/  daily  size 100M  rotate 1000  missingok  dateext  compress  notifempty  sharedscripts  postrotate      if [ -f /usr/local/nginx/logs/nginx.pid ]; then          kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`      fi  endscript}

解释:会按照配置文件每天运行一次,在上面指定的目录(/usr/local/nginx/logs)查找符合格式(access.log结尾)并且大于100M的文件,将其移到/data/bk/nginx/中,并通知nginx重新生成日志文件,最后对旧文件进行压缩。

三、运行结果

运行前

b914e2acea1228c2fdcb9ca8a14b68c3.png

运行后

1e395c02d8fdef8ef430c693fc09ce2f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值