On Fri, Dec 13, 2002 at 04:04:25PM -0800, Bob Miller wrote: I made small changes, because he was wanting to test for a timeout, not any ol' error.
> #!/usr/bin/perl > > use strict; > use LWP::UserAgent; use HTTP::Status; > > sub check() { > my $ua = LWP::UserAgent->new(timeout => 5); > my $response = $ua->get('http://www.example.com/'); if ($response == RC_REQUEST_TIMEOUT) { > system("apachectl restart"); > } > } > > while (1) { > check; > sleep 60; > } If you want to restart on any server error (you probably don't want to restart on client errors): #!/usr/bin/perl -w use LWP::Simple; use HTTP::Status(is_server_error); use strict; my $rc = getstore("http://localhost/index.html", "/dev/null"); if (is_server_error($rc)) { system("apachectl stop") == 0 or die "Could not stop httpd: $?"; sleep 10; system("apachectl start") == 0 or die "Could not start httpd: $?"; } exit(0); HTTP::Status is part of perl libwww. -- <[EMAIL PROTECTED]> How does that go ... _always_ check return codes? _______________________________________________ Eug-LUG mailing list [EMAIL PROTECTED] http://mailman.efn.org/cgi-bin/listinfo/eug-lug