#!/usr/bin/perl # this script checks the server fan use strict; use warnings; # email setup my $to = 'admin'; my $from = 'root'; my $subject = 'Server Fans'; my $flimit = 2000; my @file = ("/etc/server-badfans"); my $msg = 0; my $out = ""; # write the fans speed to /etc/server-fan system "sensors | grep fan2 | cut -c11-15 > /etc/server-fan"; open (DATA, "/etc/server-fan") || die "couldn't open the file!"; my $fan = ; close (DATA); chomp $fan; if (($fan > $flimit ) && (-e "/etc/server-badfans")) { $out = "Server fans are running at $fan a speed above minimum of $flimit\n\n"; $msg = 1; unlink @file; } if (($fan < $flimit) && (-e "/etc/server-badfans")) { exit 0; } else { if ($fan < $flimit) { $out = "The server fan speed is below limits Current Speed is $fan minimum speed is $flimit\n\n"; $msg = 1; system "touch /etc/server-badfans"; } } if ($msg > 0) { open(MAIL, "|/usr/sbin/sendmail -t"); print MAIL "To: $to \n"; print MAIL "From: $from\n"; print MAIL "Subject: $subject\n\n"; print MAIL $out; close(MAIL); } exit 0;