borrame.com - Colección particular de recortes de código y documentación para programación web

Canales RSS

Lo más fresco

  1. Bookmarklets Nuevo
  2. Recetario básico para CakePHP/2 Nuevo
  3. Certificado auto-firmado Nuevo

Sugerencias del chef

Lo más visitado

  1. Fecha y hora
  2. Dar formato a un número
  3. Reiniciar secuencia
  4. Vaciar un esquema
  5. Certificado auto-firmado
Compartir esta página

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 - v2014-02-05 rem rem Reinicia Apache, instalado como servicio de Windows, si y sólo si no hay errores de configuración rem chcp 1252 > NUL rem Ejecutable de Apache 2 (ruta completa si la carpeta no está en %PATH%) rem set APACHE=C:\Apache24\bin\httpd.exe set APACHE=%ProgramFiles%\Apache Software Foundation\Apache2.4\bin\httpd.exe rem Nombre del servicio set SERVICIO=Apache2.4 rem ========================================================================== (((echo.%cmdcmdline%)|find /I "%~0")>nul) if %errorlevel% equ 0 (     set GUI=1 ) 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. if defined GUI (     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 ver en el administrador de servicios de Windows (campo Nombre de servicio en el cuadro de propiedades) o buscar con regedit en la clave de registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services pero a veces es 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

v2014-02-05
Dar un parámetro más sensato a chcp. ¿Quién escribe archivos *.bat en ISO-8859-1?
v2013-11-25
Ya no hay que configurar manualmente si hacer una pausa al final.
Rutas actualizadas para Apache/2.4.
v2010-03-25
Uso de la variable de entorno %ProgramFiles% en las rutas.
La pausa final se puede activar/desactivar con una variable.
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 sábado 23 de septiembre de 2017 (02:23:58 +0200) desde http://borrame.com/recortes/apache/graceful-restart.html. La última vez que miré contenía HTML válido con CSS fresquito y si tiene flatas de ortografía ha sido sin querer.

borrame.com es el sitio anteriormente conocido como bits.demogracia.com (no confundir con Demogracia, que sólo pasaba por ahí).

© 2005-2017 by Álvaro González (alvaro.es) • Burgos (España) • borrame.com