| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/bandwidth/ |
Upload File : |
#!/usr/bin/perl
# Parse the firewall log and rotate it
$no_acl_check++;
require './bandwidth-lib.pl';
use Time::Local;
# Detect firewall system if needed
if (!$config{'firewall_system'}) {
$sys = &detect_firewall_system();
if ($sys) {
$config{'firewall_system'} = $sys;
&save_module_config();
}
else {
die "Failed to detect firewall system!";
}
}
# See if this process is already running
if ($pid = &check_pid_file($pid_file)) {
print STDERR "rotate.pl process $pid is already running\n";
exit;
}
open(PID, ">$pid_file");
print PID $$,"\n";
close(PID);
$time_now = time();
@time_now = localtime($time_now);
@hours = ( );
# Scan the entries in the log file
&pre_process();
open(LOG, "<".$bandwidth_log);
while(<LOG>) {
if (&process_line($_, \@hours, $time_now)) {
# Found a valid line
$lastline = $_;
}
elsif (/last\s+message\s+repeated\s+(\d+)/) {
# re-process the last line N-1 times
for($i=0; $i<$1-1; $i++) {
&process_line($lastline, \@hours, $time_now);
}
}
else {
#print "skipping $_";
}
}
close(LOG);
# Save all hours
foreach $hour (@hours) {
&save_hour($hour);
}
# Truncate the file (if it exists) and notify syslog
if (-r $bandwidth_log) {
open(LOG, ">".$bandwidth_log);
close(LOG);
}
&foreign_call($syslog_module, "signal_syslog");
# Remove PID file
unlink($pid_file);