Cómo automatizar un servicio Java para que se inicie si el servidor se reinicia

Cómo automatizar un servicio Java para que se inicie si el servidor se reinicia

Normalmente ejecuto mi servicio Java en CentOS usando nohupcomo se muestra a continuación:

nohup java -jar myapp-0.0.1-SNAPSHOT.jar server my-configure.yml > outfile &

Sin embargo, si el servidor se reinicia, el servicio no se reiniciará por sí solo. ¿Existe una forma automatizada en CentOS de iniciar este servicio Java en el arranque?

Respuesta1

Copie el script en /etc/rc.d/rc.local, reinicie y se ejecutará al arrancar. P.ej

[vagrant@localhost ~]$ cat /etc/rc.d/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

sudo touch /tmp/helloworld

crea el/tmp/holamundoarchivo una vez reiniciado el sistema:

[vagrant@localhost ~]$ ls /tmp/
helloworld 

30.3. Ejecutar programas adicionales en el momento del arranque

The /etc/rc.d/rc.local script is executed by the init command at boot time or when changing runlevels. Adding commands to the bottom of this script is an easy way to perform necessary tasks like starting special services or initialize devices without writing complex initialization scripts in the /etc/rc.d/init.d/ directory and creating symbolic links.

The /etc/rc.serial script is used if serial ports must be setup at boot time. This script runs setserial commands to configure the system's serial ports. Refer to the setserial man page for more information. 

información relacionada