#!/usr/bin/perl use IO::Socket::INET; $time = localtime; $users = grep{ -d $_ } glob('/home/*'); $users = $users + 600; $mx1pop3 = IO::Socket::INET->new( Timeout => 1, PeerAddr => 'mail.test.com', PeerPort => 110, Proto => 'tcp'); $mx1smtp = IO::Socket::INET->new( Timeout => 1, PeerAddr => 'mail.test.com', PeerPort => 25, Proto => 'tcp'); $mx1web = IO::Socket::INET->new( Timeout => 1, PeerAddr => 'test.com', PeerPort => 80, Proto => 'tcp'); $mx1dns = IO::Socket::INET->new( Timeout => 1, PeerAddr => 'test.com', PeerPort => 53, Proto => 'tcp'); if ($mx1pop3 and $mx1smtp) { $mail = 'Up'; } else { $mail = 'Down'; } if ($mx1web) { $web = 'Up'; } else { $web = 'Down'; } if ($mx1dns) { $dns = 'Up'; } else { $dns = 'Down'; } print "Content-type: text/html\n\n"; print "
$time
\n" ; print "Mail Servers: $mail
Web Servers: $web
DNS Servers: $dns
Active Users: $users
\n" ;