Demogracia Bits

• • • Colección privada de recortes de código y documentación para programación web

[Sí, aún estamos en pruebas; ¿por?]

Reiniciar Apache con cuidado (graceful restart)

Este humilde script es una imitación (barata, admito) del comando service httpd graceful que nos encontramos en Red Hat y otros Linuxes: reinicia el servicio de Apache si y sólo si no existe ningún error de configuración. Es lo mismo que ejecutar a mano el icono Test Configuration y después (si todo fue bien) reiniciar Apache con el icono Restart o (si todo fue mal) no reiniciarlo.

@echo off
rem
rem Hace un "graceful restart" de Apache instalado como servicio de Windows - v2008-02-28
rem


rem Establecemos el juego de caracteres ISO-8859-1 (Latin 1)
chcp 28591 > NUL


rem Ejecutable de Apache 2 (ruta completa si la carpeta no está en %PATH%)
set APACHE=C:\Program Files\Apache Software Foundation\Apache2.2\bin\httpd.exe

rem Nombre del servicio
set SERVICIO=Apache2.2


echo ==========================================================================
echo Verificando la configuración de Apache...
echo.

"%APACHE%" -t

echo.

if %ERRORLEVEL% NEQ 0 (
    goto cfg_err
) else (
    goto cfg_ok
)



:cfg_err
echo Se han encontrado errores, no se puede continuar.
goto fin

:cfg_ok
echo La configuración es correcta.
echo ==========================================================================
echo Reiniciando el servicio "%SERVICIO%"...
echo.

net stop "%SERVICIO%" 2> NUL
net start "%SERVICIO%"

if %ERRORLEVEL% NEQ 0 (
    goto reinicio_err
) else (
    goto reinicio_ok
)

:reinicio_err
echo Ha fallado el reinicio del servicio.
goto fin

:reinicio_ok
echo El servicio ha sido reiniciado con éxito.
goto fin


:fin
echo ==========================================================================
echo.
echo.
pause

Hay que modificar las líneas set APACHE y set SERVICIO si no son las correctas para el equipo. El nombre del servicio se puede buscar con regedit en la clave de registro HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Services pero suele ser más fácil ponerse a adivinar.

Recordad que en Windows Vista hay que ejecutarlo como administrador: botón derecho y Ejecutar como administrador o, más cómodo, creamos un acceso directo y lo cambiamos para siempre en las propiedades del mismo.

Historial

v2008-02-28
Fijamos el juego de caracteres para evitar complicaciones con los acentos.
Separamos los dos pasos del reinicio para poder usar el script aun con el servicio inicialmente apagado.
v2008-02-05
Primera versión.

Esta página ha sido impresa el domingo 6 de julio de 2008 (22:51:56 +0200) desde http://bits.demogracia.com/recortes/apache/graceful-restart.html, contenía HTML válido con CSS fresquito la última vez que lo miré y no debería tener flatas de ortografía.

Demogracia Bits no tiene absolutamente ninguna relación con Demogracia, salvo el nombre, el dominio punto com y que el autor es el mismo.

© 2005-2008 by Álvaro G. Vicario (alvaro.es) ¤ Burgos (España) ¤ http://bits.demogracia.com/