O anwer de @ chris-betti está correto. No entanto, para sistemas baseados em DEBIAN, tenho três adições:
- certifique-se de que o nível de execução 2 do servidor de licenças também seja iniciado
- certifique-se de que haja um usuário jetbrains
- verifique se o arquivo PID está no local correto (/opt//logs/license-server.pid)
anúncio 1: veja o arquivo de script abaixo. Você precisa alterar a linha # Default Start
para ler:
# Default-Start: 2 3 4 5
anúncio 2: Certifique-se de ter um usuário do sistema 'jetbrains' que possa iniciar o serviço (e tenha permissão para gravar no diretório em que você instalou o servidor de licenças
# as root
adduser --system --no-create-home jetbrains
chown jetbrains:nogroup -R /opt/jetbrains-license-server
anúncio 3: Em relação ao arquivo PID, você precisa alterar a linha com # pidfile:
para:
# pidfile: /opt/jetbrains-license-server/logs/license-server.pid
Instale o daemon :
Há mais uma adição para instalar o serviço nos vários runlevels para sistemas baseados no Debian (Debian, Ubuntu). Isso garantirá que o serviço seja iniciado na inicialização e seja interrompido.
# as root
update-rc.d jetbrains-license-server defaults
update-rc.d jetbrains-license-server enable
O script com todas as alterações
Aqui está o script com todas as alterações incorporadas.
#
# chkconfig: 345 86 14
# description: Jetbrains License Server
# processname: license-server.sh
# pidfile: /opt/jetbrains-license-server/logs/license-server.pid
### BEGIN INIT INFO
# Provides: jetbrains-license-server
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start Jetbrains License Server
# Description: Manages the Jetbrains License Server Service
### END INIT INFO
APP=jetbrains-license-server
USER=jetbrains
BASE=/opt/jetbrains-license-server
case "$1" in
# Start command
start)
echo "Starting $APP"
/bin/su -m $USER -c "cd $BASE && $BASE/bin/license-server.sh start &> /dev/null"
;;
# Stop command
stop)
echo "Stopping $APP"
/bin/su -m $USER -c "cd $BASE && $BASE/bin/license-server.sh stop &> /dev/null"
echo "$APP stopped successfully"
;;
# Restart command
restart)
echo "Restarting $APP"
/bin/su -m $USER -c "cd $BASE && $BASE/bin/license-server.sh restart"
;;
# Status command
status)
echo "$APP Status"
/bin/su -m $USER -c "cd $BASE && $BASE/bin/license-server.sh status"
;;
*)
echo "Usage: /etc/init.d/$APP {start|restart|stop}"
exit 1
;;
esac
exit 0