Iniciar uma aplicação no boot do Linux

1 minutos de leitura

Atualizado em:

Este artigo demonstra como criar um script de inicialização no Linux. Neste script demonstro como iniciar uma aplicação Java, mas que pode ser subsistida por qualquer outra.

Crie um arquivo com o nome da sua aplicação no diretório/etc/init.d/ :

# nano /etc/init.d/ app

Copie o conteúdo abaixo substituindo pelo nome da sua aplicação e fazendo as alterações necessárias para iniciar a mesma.

#!/bin/bash
#/etc/init.d/app

### BEGIN INIT INFO
# Provides:          app
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Iniciando o app no boot
# Description:       Iniciando o app.
### END INIT INFO

###########################################
# Script para executar o app
###########################################

# Variáveis de configuração
DIRETORIO="/opt/app/"
JAVA_HOME="/opt/java/bin/java"
EXECUTAVEL="app.jar"
PARAMETROS_JVM="-server -Xms6g -Xmx6g -jar"

# Abre o diretório do executável
cd $DIRETORIO

case "$1" in

 start)
        echo "Iniciando o app"
        nohup $JAVA_HOME $PARAMETROS_JVM $EXECUTAVEL &
     ;;
 restart)
        $0 stop
        $0 start
    ;;
 stop)
        echo "Parando o app"     
        pkill -9 -f $EXECUTAVEL
    ;;

  *)
    echo "Uso: /etc/init.d/app {start|stop|restart}"
    exit 1
    ;;
esac

exit 0

Conceda permissão de execução para esse script:

# chmod +x /etc/init.d/app

Adicione na rotina de inicialização do sistema:

# insserv /etc/init.d/app

O script será chamado na inicialização do sistema, e pode ser invocado como serviço

# service app start
# service app stop
# service app restart

ou

# /etc/init.d/app start
# /etc/init.d/app stop
# /etc/init.d/app restart

[]'s

Deixe um comentário