Custom Perl Script for Email Notification when Host is Down.
I have found the Perl script for ping in Cacti. I have modified that script to restart quagga service, save the date-time in a file and send email notification whenever a host is down. Here it is: [root@busy-bee2 ~]cat ping.pl #!/usr/bin/perl # take care for tcp:hostname or TCP:ip@ $host = $ARGV[0]; $host =~ s/tcp:/$1/gis; open(PROCESS, "ping -c 1 $host | grep icmp_seq | grep time |"); $ping = <PROCESS>; close(PROCESS); $ping =~ m/(.*time=)(.*) (ms|usec)/; if ($2 == "") { print "U"; # avoid cacti errors, but do not fake rrdtool stats $comand = "/etc/init.d/ospfd restart; date >> /root/quagga_restarted; echo quaggaRestarted | mail -s quaggaRestartedFly user\@domain.tld"; system("$comand"); } elsif ($3 eq "usec") { print $2/1000; # re-calculate in units of "ms" }else{ print $2; } One can use a