KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //config/get_machine_bandwidth.pl
#!/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;
}

Anon7 - 2021