Avviare file jar in avvio di Linux

Mattepuffo's logo
Avviare file jar in avvio di Linux

Avviare file jar in avvio di Linux

Mi sono fatto un piccolo server socket in Java in grado di salvare i file in arrivo (nel mio caso un log creato da un altro programma).

Il problema era l'avvio, cioè doveva avviarsi in automatico.

Non sapendo come fare mi rivolto qui e abbiamo iniziato a fare vari tentativi, che vi riporto in sequenza.

Prima ho provato a mettere semplicemente il comando dentro rc.local:

cat /etc/rc.local
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
#/bin/sleep 15
#/etc/rc.d/sshd start
java -jar /home/casa/server.jar

Provando poi con exec prima del comando, o & alla fine.

Purtroppo non si avviava (nessun problema però se lo avviavo manualmente).

Con zazu abbiamo fatto delle prove con le varibili d'ambiente:

env | grep java
DERBY_HOME=/opt/java/db
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl
JAVA_HOME=/opt/java
J2SDKDIR=/opt/java

aggiungendo queste due righe prima del comando:

$(which env) | $(which grep) java > /tmp/javavars.lst
$(which env) | $(which grep) jre >> /tmp/javavars.lst

Anche così il file no nsi avviava e il file /tmp/javavars.lst rimaneva vuoto.

Ed ecco quindi la soluzione finale di zazu che ha funzionato.

Ho creato una file in /opt di nome launch_server (ovviamente mettetelo dove meglio credete), con dentro questo:

#!/bin/bash

DERBY_HOME=/opt/java/db
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/bin:/opt/java/db/bin:/opt/java/jre/bin:/usr/bin/vendor_perl:/usr/bin/core_perl
JAVA_HOME=/opt/java
J2SDKDIR=/opt/java

java -jar /home/casa/server.jar &

Questo file l'ho poi richiamato in /etc/rc.local:

#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
#/bin/sleep 15
#/etc/rc.d/sshd start
/opt/launch_server

Adesso funziona tutto:

$ ps aux | grep server
root      2864  0.0  1.1 374600 12100 ?        Sl   09:22   0:03 java -jar /home/casa/server.jar

Grazie al mio forum favorito e a zazu e pennega per l'aiuto!!


Condividi

Commentami!