Instalar la Aplicación para Iniciar en un Reinicio (Debian Linux)

Crear un Vínculo Simbólico en "/etc/init.d"

El primer paso es configurar la aplicación para que el apagado sea limpio cuando el sistema se apague. La ejecución debe ser en el orden correcto cuando el sistema reinice, esto es para crear un Vínculo Simbólico en el directorio /etc/init.d. Muchas aplicaciones simplemente copian el archivo de comandos del Demonio al directorio. El Archivo de Comandos del Wrapper requiere que un Vínculo Simbólico sea usado. De esta manera la ubicación del resto de los archivos de las aplicaciones podrán ser localizadas sin modificación alguna en el archivo de comandos.

Para crear un Vínculo Simbólico en el directorio /etc/init.d, es necesario ser "usuario raíz." Simplemente introduzca la siguiente secuencia de comandos:

ln -s /usr/lib/myapp/bin/myapp /etc/init.d/myapp

Verifique que el Vínculo Simbólico este trabajando correctamente y cambiar el directorio actual a /etc/init.d ejecutando el siguiente comando.

./myapp console

Asegúrese de hacer la ejecución como usuario raíz ya que al ejecutar la aplicación lo requerirá cuando el sistema inicie. Es muy común que haya diferencias en el entorno entre usuario raíz y un usuario como cuando normalmente entra en sesión. Dichas diferencias pueden causar problemas por ejemplo cuando no se puede localizar la JVM.

La aplicación debería iniciar de una manera normal. Presione CTRL-C para detener la aplicación.

Registrando Niveles de Ejecución

Usted quiere que su aplicación inicie en todos los niveles de ejecución multiusuario y se detenga al experimentar una interrumpción, en modo de usuario único y al reiniciar la ejecución de niveles. Esto es posible al cambiar el directorio actual a /etc/init.d y al ejecutar el comando update-rc.d como usuario raíz:

update-rc.d myapp start 20 2 3 4 5 . stop 20 0 1 6 .

La salida de datos que usted debería recibir es algo como lo que a continuación se presenta:

 Adding system startup for /etc/init.d/myapp ...
   /etc/rc0.d/K20myapp -> ../init.d/myapp
   /etc/rc1.d/K20myapp -> ../init.d/myapp
   /etc/rc6.d/K20myapp -> ../init.d/myapp
   /etc/rc2.d/S20myapp -> ../init.d/myapp
   /etc/rc3.d/S20myapp -> ../init.d/myapp
   /etc/rc4.d/S20myapp -> ../init.d/myapp
   /etc/rc5.d/S20myapp -> ../init.d/myapp

El entorno durante la ejecución es disperso, como resultado algunas referencias que hagan uso de una ruta de acceso o un entorno de variables podría no tener éxito. Como precaución cuando trate de reiniciar para probar su instalación se le sugiere configurar la siguiente propiedad de wrapper.logfile.loglevel a DEBUG.

Ahora puede reiniciar su sistema para probar la instalación:

shutdown -r now

Cuando el sistema empiece la ejecución de nuevo, tendría que hacerlo de forma normal.

¿Experimentando Problemas?:

Si por alguna razón experimenta algún problema, por favor revisar el archivo de registros.. Lo más probable es que la respuesta la pueda encontrar ahí. Si la prueba en la sección anterior funcionaba pero falló, el problema podría estar relacionado con la ausencia de variables de entorno.

Controlando el Orden:

Si su aplicación hace uso de otros servicios por ejemplo MySQL, necesitará asegurarse que la aplicación es iniciada después de MySQL y que es apagada antes que MySQL respectivamente. Esto es hecho al controlar la orden de inicio/apagado. Por defecto, MySQL inicia y se detiene con una orden de 20. De esta manera se obtiene el resultado deseado. Al hacer uso del orden de inicio en 21 y el apagado en el orden 19.

update-rc.d myapp start 21 2 3 4 5 . stop 19 0 1 6 .

Anulación de los registros de Niveles de Ejecución

Para anular los niveles de ejecución registrados en la sección anterior haga uso del siguiente comando.

update-rc.d -f myapp remove

Referencia: Iniciar su Aplicación con el Wrapper