定时切割nginx的access.log

1 先写好切割日志的执行脚本!
实例代码好下:

#!/usr/bin/perl
use strict;
use POSIX qw/strftime/;
use File::Copy;

our ($hour,$min) = split/ /,strftime "%H %M",localtime;

rotate_log("pay.access.log");
#rotate_log("webservice.log");

sub rotate_log {
    my $log = shift;
    my $srcdir = "/data2/log/nginx";
    my $destdir = "/data2/nginx_log_backup";

    if ($hour == 0 and $min == 0) {  # run only at 00:00 each day
        my $lastday = strftime "%Y%m%d",localtime(time-3600);
        copy "$srcdir/$log","$destdir/$log.$lastday";
        system "echo -n > $srcdir/$log";
        system "gzip $destdir/$log.$lastday";
    }
} 
 


2 在liunx下面的/ect/crontab 下面建立一个定时任务.
比如:30 * * * * root /data/....(存放脚本的路径)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值