Here is one in a series of useful administrative perl scripts
I use to maintain our server. Feel free to do with it what you want --
if someone wants to add it to the Apache distribution, please add the
Apache copyright first.
.......Roy
----------------------cut here
#!/usr/public/bin/perl
# ==========================================================================
sub usage {
die <<"EndUsage";
USAGE: restart_httpd
This program sends a SIGHUP signal to the current httpd server.
It must be run on the www machine and by the httpd's owner.
The effect is to force the server to re-read its config files and
re-open its log files. The program tails the error_log to display
what should be a "successful restart" message.
Created by Roy Fielding, 10 Apr 1995
EndUsage
}
if ($#ARGV >= 0) { &usage; }
# ==========================================================================
# Get defaults
umask(022);
# Set up the filenames to be used
$ServerRoot = '/usr/etc/httpd';
$PidFile = "$ServerRoot/logs/httpd.pid"; # Server's PID file
$ErrorLog = "$ServerRoot/logs/error_log"; # Server's Error Log
# ==========================================================================
# Restart the httpd server
if (open(PID, $PidFile))
{
chop($_ = <PID>);
kill 1, $_;
close(PID);
}
else
{
die "Could not open httpd PID file: $!\n";
}
sleep(2);
system('tail','-2', $ErrorLog);
exit(0);
I use to maintain our server. Feel free to do with it what you want --
if someone wants to add it to the Apache distribution, please add the
Apache copyright first.
.......Roy
----------------------cut here
#!/usr/public/bin/perl
# ==========================================================================
sub usage {
die <<"EndUsage";
USAGE: restart_httpd
This program sends a SIGHUP signal to the current httpd server.
It must be run on the www machine and by the httpd's owner.
The effect is to force the server to re-read its config files and
re-open its log files. The program tails the error_log to display
what should be a "successful restart" message.
Created by Roy Fielding, 10 Apr 1995
EndUsage
}
if ($#ARGV >= 0) { &usage; }
# ==========================================================================
# Get defaults
umask(022);
# Set up the filenames to be used
$ServerRoot = '/usr/etc/httpd';
$PidFile = "$ServerRoot/logs/httpd.pid"; # Server's PID file
$ErrorLog = "$ServerRoot/logs/error_log"; # Server's Error Log
# ==========================================================================
# Restart the httpd server
if (open(PID, $PidFile))
{
chop($_ = <PID>);
kill 1, $_;
close(PID);
}
else
{
die "Could not open httpd PID file: $!\n";
}
sleep(2);
system('tail','-2', $ErrorLog);
exit(0);