$cgierr->LogError( 'Ablaufdauer (gesamt): ' . scalar tv_interval( $t0 ) . ' Sekunden' ); # ====== # Benachrichtigung per E-Mail (Forking!) local $SIG{ CHLD } = 'IGNORE'; unless ( fork() ) { close STDERR; close STDOUT; close STDIN; my $mailprog = '/usr/sbin/sendmail'; if ( $status == 501 || $status == 500 || $status == 401 || $status == 404 || $status == 410 || $status == 403 ) { my @a = localtime( time ); # 0 1 2 3 4 5 6 7 8 #($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); my $t = sprintf( '%02d.%02d.%04d um %02d:%02d.%02d Uhr', $a[ 3 ], $a[ 4 ] + 1, $a[ 5 ] + 1900, $a[ 2 ], $a[ 1 ], $a[ 0 ] ); my $proxyip = ( # Proxy-IP $ENV{ 'HTTP_CLIENT_IP' } || $ENV{ 'HTTP_X_FORWARDED_FOR' } || $ENV{ 'HTTP_X_FORWARDED' } || $ENV{ 'HTTP_FORWARDED' } || $ENV{ 'HTTP_VIA' } || $ENV{ 'HTTP_X_COMING_FROM' } || $ENV{ 'HTTP_COMING_FROM' } ); my $remoteip = $ENV{ 'REMOTE_ADDR' } || '(unknown)'; $remoteip = "$proxyip,$remoteip" if defined $proxyip; # deutscher Datenschutz, kein IP-Logging $remoteip = '**NOIPLOGGING**'; $proxyip = $remoteip; $ENV{ 'HTTP_USER_AGENT' } ||= '(unknown)'; $ENV{ 'HTTP_REFERER' } ||= '(unknown)'; ${ Cgi::Error::URL } ||= '(unknown)'; $cgierr->AlertByMail( $mailprog, <<"MAIL"); To: Webadmin From: Webadmin Subject: Serverfehler $errnum - ${Cgi::Error::SUBDOMAIN} Meldung von Domain ${Cgi::Error::SUBDOMAIN} Fehler $errnum trat auf am: $t URL: ${Cgi::Error::URL} UserAgent: $ENV{'HTTP_USER_AGENT'} Referrer: $ENV{'HTTP_REFERER'} RemoteIP: $remoteip MAIL } # end if } #end fork 1;