nginx 按天日志分割 for linux

Shell脚本代码:

#!/bin/bash

 

nginx_pid=/var/run/nginx.pid

nginx_log_dir=/data/logs/nginx

goaccess_dir=/opt/goaccess

#yyyy

year=`date -d "yesterday" +"%Y"`

#MM

month=`date -d "yesterday" +"%m"`

#yyyyMMdd

day=`date -d "yesterday" +"%Y%m%d"`

 

daycount=30

 

dayold=`date -d "$daycount day ago" +"%Y%m%d"`

 

nginx_log_old=$nginx_log_dir/access.log.$dayold

 

 

if [ -f "$nginx_log_old" ]; then 

  rm  $nginx_log_old

fi 

 

cd $nginx_log_dir

if [ ! -f "access.log.$day" ]; then 

 mv access.log access.log.$day

 kill -USR1 `cat $nginx_pid`

fi

 

cd $goaccess_dir

mkdir -p html/$year/$month

bin/goaccess -f $nginx_log_dir/access.log.$day -d -a -p etc/goaccess.conf > html/$year/$month/$day.html

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值