Como executar o script sh usando o serviço do sistema no Linux (rhel 7) [closed]

1

Eu tenho um script linux que inicia meu serviço:

/home/MyApp/MyAppStart.sh

java -jar -Dspring.profiles.active=dev $home/MyApp/MyApp.jar /tmp 2>> /dev/null >> /dev/null & echo $! > /home/MyApp/MyApp-pid

Eu tenho um serviço systemd que executará o mesmo comando quando iniciarmos o serviço:

/etc/systemd/system/MyApp.service

[Unit]
Description=My App name
After=syslog.target

[Service]
User=root
Group=root
ExecStart=java -jar -Dspring.profiles.active=dev $home/MyApp/MyApp.jar /tmp 2>> /dev/null >> /dev/null & echo $! > /home/MyApp/MyApp-pid
StandardOutput=file:/home/logs/stdout
StandardError=file:/home/logs/stderr
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Pergunta 1: O que eu quero do comando é inicializar o jar, imprimir a saída no console e em um arquivo, imprimir o ID do processo em um arquivo.

Pergunta 2: Eu não vejo nenhum log em / home / logs. Como faço para corrigir isso?

Pergunta 3: MyApp.service precisa ter o nome do ambiente (dev / sys / prod) como entrada. Como faço para conseguir isso? Se isso não pode ser alcançado, existe um trabalho?

Pergunta 4: MyAppStart.sh e MyApp.service fazem a mesma coisa, ou seja, posso obter o jar executando executando o script bash ou iniciando o serviço. Em vez de ter duas maneiras de iniciar o jar, posso usar apenas uma. Eu definitivamente preciso do serviço systemd, então posso modificar o script de início para executar o serviço?

    
por user1478392 01.11.2018 / 21:54

0 respostas