nginx访问日志切割

nginx访问日志切割

1).切割日志必要性:

如果任由访问日志写下去,日志文件会变得越来越大,读也没法读,甚至是写满磁盘。

所以,我们需要想办法把日志做切割,比如每天生成一个新的日志,旧的日志按规定时间删除即可。

实现日志切割可以通过写shell脚本或者系统的日志切割机制实现。

2).shell脚本切割nginx日志:

切割脚本内容:

[root@localhost scripts]# cat cut_nginx_log.sh

#!/bin/bash

#定义日志路径:

logdir=/usr/local/nginx/logs/

#定义切割后的日志前缀:前一天的日期:如:现在27号,打印则:26号: 201226

prefix=`date -d "-1 day" +%y%m%d`

cd $logdir  

for f in `ls *.log`

do

#把日志改名为加日期的:

   mv $f $f-$prefix

done

#生成新的日志:

/usr/local/nginx/sbin/nginx -s reload 2>/dev/null

#压缩日志:

bzip2 *$prefix

#注意:安装bzip2命令: yum -y install bzip2,  解压:方法1: bzip2 -d xxx.bz2 方法2: bunzip2 xxx.bz2

#注意: bzip2 要压缩的文件,   压缩后原文件不存在,直接以原文件名.bz2形成的压缩包形式存在,如: bzip2 access.log,执行后为: access.log.bz2

find . -type f -mtime +180 -name "*.bz2" |xargs rm -f

[root@localhost scripts]# crontab -l

00 01 * * * /data/scripts/cut_nginx_log.sh

参考链接;

https://github.com/aminglinux/nginx/blob/master/log/rotate.md

linux文件压缩解压缩命令之bzip2常用方法介绍 - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维实战课程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值