|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /config/ |
Upload File : |
#!/usr/bin/perl
use lib qw(/config);
use modDB qw(mysql hosting provision pr0v1s10n 192.168.25.115);
modDB::dbDebug(4);
my $path = '/var/log/httpd/access/';
my $hostname = `hostname`;
chomp($hostname);
opendir(DIR, "/var/log/httpd/access/");
@dirs = readdir(DIR);
closedir(DIR);
my ($machine_id) = modDB::fetchRow(q[select id from machine_table where name = ?],'fbsdweb2');
foreach $log (@dirs)
{
print " looking at $log \n";
# next unless -f "$path$log";
next unless $log =~ m/\.log$/;
next unless $log =~ m/ex(\d\d\d\d)(\d\d)(\d\d).log/;
my $date = "$1-$2-$3";
my ($size) = modDB::fetchRow(q[select filesize from server_bandwidth_table where logdate = ? and hostname = ?], $date, $hostname);
my $new_size = -s "$path$log";
print " $new_size == $size $path$log \n";
next if( $new_size == $size );
print $new_size
print " $path$log $size \n";
my $total = get_total("/var/log/httpd/access/$log");
modDB::dbDo(q[delete from server_bandwidth_table where logdate = ? and hostname = ?], $date, $hostname);
modDB::dbDo(q[insert into server_bandwidth_table set logdate = ? , hostname= ? ,filesize=?, data=? ], $date, $hostname , $new_size , $total);
print "$date - $total $total/1024/1024/1024\n";
}
exit;
sub get_total
{
my $file = shift;
open (FILE, $file);
#my @data = <FILE>;
#close (FILE);
my $total = 0;
while(my $line = <FILE>)
{
$line =~ s/"(.*?)"/spaceless($1)/eg;
$line =~ s/[\[\]]//g;
my (@a) = split / /, $line;
$total += $a[-3];
# print "$total - $a[-3] [$line]\n";
}
close (FILE);
return $total;
}
exit;
sub spaceless
{
my $item = shift;
$item =~ s/ /+/g;
return $item;
}