linux 日志按时间切割,nginx中access日志如何做到按时间完美切割

nginx web服务器中access日志,默认是不能按时间分隔的,每次日志都是打在access.log上,这样久而久之这个日志文件就特别的大,也不利于清理和管理,故此我们肯定是需要做时间上的切割的,那么如何做到完美的切割的呢?

我们采取的方案是利用shell脚本和crontab定时任务来做

比如新建一个nginx_time_log.sh脚本,里面的内容如下

(当然也可以使用linux中的logrotate来做日志切割)

#!/bin/bash

local_path=/home/work/tp/log/webserver #找到您服务器中存放access日志的目录

cd $local_path #进入这个目录

mv access_log $local_path/access_log` date +%Y%m%d%H` #把当前的access_log挪到这个时期下,其实就是相当于日志的切分

nginx_pid=`ps -ef |grep -v grep |grep “nginx: master process “|awk -F” ” ‘{print $2}’` #找到您nginx的进程

` kill -USR1 $nginx_pid` #执行usr1

这样就会先把access_log 移动到一个access_log.时间 的日志文件,并且会新生产一个access_log文件

最后通过定时任务来让这个nginx_time.sh脚本按每小时来进行切分

crontab命令如下:

0 */1 * * * sh /xxx(您这个脚本的存放命令)/nginx.sh 按每小时切割

日志图如下:

AAffA0nNPuCLAAAAAElFTkSuQmCC

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值