Usage of the PhysNet Mirror Servers

#!/usr/bin/perl # # Copyright Thomas Severiens 2002 # print ("Content-Type: text/html\n\nVisits per Month (see also the statistics basing on hits)"); $now = localtime(time); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); @monatname=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); $year=$year+1900; $td = "/www/PhysNet/cgi-bin"; for ($jahr=2002;$jahr<=$year;$jahr++){ for ($monat=0;$monat<=11;$monat++) { if (($jahr==2002 && $monat<9)||($jahr==$year && $monat >$mon)) {next;} push(@dates,"$monatname[$monat]$jahr"); } } opendir(DIR,$td); push(@files,""); while ($file = readdir(DIR)) { if ($file =~ /^visit_access_log_physnet_/ && $file !~ /all$/) { $file =~ s/visit_access_log_physnet_//; push(@files,"$file"); } } closedir(DIR); for ($ylauf=0;$ylauf<=$#files;$ylauf++) { for ($xlauf=0;$xlauf<=$#dates;$xlauf++) { if ($xlauf == 0 && $ylauf == 0) { $all{$xlauf,$ylauf}="Mirror"; } elsif ($xlauf==0) { $all{$xlauf,$ylauf}="$files[$ylauf]"; } elsif ($ylauf==0) { $all{$xlauf,$ylauf}="$dates[$xlauf]"; } else { open (FILE,"$td/visit_access_log_physnet_$files[$ylauf]"); while () { chomp; /\[(\d{2})\/(\w{3})\/(\d{4})/; if ($dates[$xlauf] eq "$2$3") { $all{$xlauf,$ylauf}++; } } close (FILE); } } } for ($ylauf=1;$ylauf<=$#files+1;$ylauf++) { for ($xlauf=1;$xlauf<=$#dates+1;$xlauf++) { if ($ylauf==$#files+1) { for ($lauf=1;$lauf<=$#files;$lauf++) { $all{$xlauf,$ylauf}+= $all{$xlauf,$lauf}; } } if ($xlauf==$#dates+1) { for ($lauf=1;$lauf<=$#dates;$lauf++) { $all{$xlauf,$ylauf}+= $all{$lauf,$ylauf}; } } } } $all{0,$#files+1}="Sum"; $all{$#dates+1,0}="Sum"; $all{$#dates+1,$#files+1}=int($all{$#dates+1,$#files+1}/2); print "\n"; for ($ylauf=0;$ylauf<=$#files+1;$ylauf++) { print ""; for ($xlauf=0;$xlauf<=$#dates+1;$xlauf++) { if ($all{$xlauf,$ylauf}eq "") {$all{$xlauf,$ylauf}=" ";} print ""; } print "\n"; } print "
$all{$xlauf,$ylauf}
"; print "

Rate of Distribution (basing on visits)"; for ($ylauf=1;$ylauf<=$#files;$ylauf++) { for ($xlauf=1;$xlauf<=$#dates;$xlauf++) { $all{$xlauf,$ylauf}=int(100000*$all{$xlauf,$ylauf}/$all{$xlauf,$#files+1})/1000; $all{$xlauf,$ylauf}.="%"; } } print "\n"; for ($ylauf=0;$ylauf<=$#files;$ylauf++) { print ""; for ($xlauf=0;$xlauf<=$#dates;$xlauf++) { if ($all{$xlauf,$ylauf}eq "") {$all{$xlauf,$ylauf}=" ";} print ""; } print "\n"; } print "
$all{$xlauf,$ylauf}
";

These tables are updated automatically every night.

top