# Author: Michael Collins (colli2mj@jmu.edu, mcollins@va.rr.com) # Description: A tool to find how long it takes for MTAs to # successfully reboot. It will also display a number of failures. $entity_path = "/opt/RRvmsbd/log/entity.log"; @success_args = ("grep", "-c", "-i", "success", "$entity_path"); @failure_args = ("grep", "-c", "-i", "fail", "$entity_path"); # Delete the entity.log system("rm", "$entity_path"); print($entity_path, " has been removed.\n"); # Restart the daemon, which will recreate the log system("/etc/init.d/RRvmsbd", "stop"); system("/etc/init.d/RRvmsbd", "start"); # Inputs print("Enter attempt interval (secs): "); chop($interval = ); print("Enter time to continue (secs): "); chop($time = ); print("Enter number of modems being rebooted: "); chop($modems = ); # Monitoring Loop for($iterations = 0; $iterations*$interval<$time; $iterations++) { open(PIPE, "@success_args|"); while() { @successes = split; } close(PIPE); $successes = $successes[0]; print($successes, " successes after ", $iterations+1, " attempts.\n"); sleep($interval); } # Failures open(PIPE, "@failure_args|"); chop($failures = ); close(PIPE); # Output print("Total Successes: $successes/$modems\n"); print("Total Failures: $failures\n");