Demone Linux scritto in posizione Java
Domanda
Attualmente sto scrivendo un demone Java. Sto scrivendo uno script che avrà i comandi daemon standard (avvio, arresto, riavvio, stato) e sto cercando di decidere dove andare quando si installa il daemon.
La mia idea attuale è:
File PID: /var/run/myapp.pid
Daemon Script: /etc/init.d/myapp
App Java (.jar): / usr / bin / myapp
Registri: /var/log/myapp.err , /var/log/myapp.log , / var / log / myapp .info (hai avuto l'idea)
Configs: /etc/myapp.conf (o / etc / myapp / configs-go-here se ne avrò più di uno in futuro )
Sono ancora nuovo nella struttura delle directory di Linux, quindi se sto facendo qualcosa di sbagliato fammelo sapere. Ciò che mi confonde di più è che la mia app Java è un file .jar (archivio) e non un file binario. Ciò significa che / usr / bin / non è il "giusto" posto per esso?
Soluzione
È possibile inserire il file .jar
in /usr/lib/myapp/myapp.jar
e fare in modo che lo script di avvio esegua java -j / usr / lib / myapp / myapp.jar
Guardandolo da quel lato, il vaso è effettivamente una libreria che utilizza il binario / usr / bin / java
, quindi quelle posizioni mi sembrano buone.
Altri suggerimenti
Il suggerimento /usr/lib/myapp/myapp.jar
è sulla buona strada, ma / usr / lib
è per file specifici dell'architettura, poiché Java < code> jar sono indipendenti dalla piattaforma, /usr/share/myapp/myapp.jar
è una posizione migliore.