Перезапуск служб в Linux после перезагрузки сервера - PullRequest
0 голосов
/ 23 февраля 2019

Итак, сегодня один из наших серверов приложений был перезапущен из-за какой-то проблемы, и после перезапуска мы обнаружили, что наши службы приложений не работают.

Я хочу создать один сценарий, который будет проверять указанные ниже службы после сервераперезапустите и запустите их автоматически, если найдены остановленные:

1-я служба с путем: /opt/bea/config/nm/nm-sdi-abc/beaNMctl.sh

2-я служба TOMCAT - путь:/ opt / apache / tomcat / bin --- Имя службы startup.sh

Поймать здесь: 1-я служба может быть запущена с обычной учетной записью id, которую я использую.

Но 2-я служба может бытьперезапущен после входа в другую учетную запись службы на том же сервере и в сети.Как показано ниже:

[x201691 @ abc bin] $ su - apache

Пароль:

-bash-2.05b $ cd /

-bash-2.05b $ cd / opt / apache / tomcat / bin /

-bash-2.05b $ ./startup.sh

Может кто-нибудь помочь?

Также мы не являемся root-пользователями.

Ответы [ 2 ]

0 голосов
/ 02 марта 2019
Preferred approach when installing Tomcat in Linux is to make Tomcat as a service.

This will ensure your service is started after reboot

1. Create the service file with the following command:
    
touch /etc/systemd/system/tomcat.service

2. Assign the relevant rights to the file you created:

   chmod 664 /etc/systemd/system/tomcat.service

3. Paste the following content in the file while adapting it to your configuration:

       [Unit]

       Description=Application description/name

       After=syslog.target network.target

       [Service]

       Type=forking

       User=tomcat

        ExecStart=$CATALINA_HOME/bin/startup.sh

        ExecStop=/bin/kill -15 $MAINPID

        Install]

        WantedBy=multi-user.target


4. Reload the service daemon:
 systemctl daemon-reload

5. Start the service:
     systemctl start tomcat

6. To check status : 
    systemctl status tomcat
0 голосов
/ 23 февраля 2019

Вы можете написать сценарий оболочки:

echo YOUR_PASSWORD | sudo -S su 
cd /opt/apache/tomcat/bin/ 
./startup.sh

Сохраните его как файл где у вас есть доступ и добавьте следующую запись в cron:

@reboot MYPATH/myscript.sh >>  MYPATH/script.log 2>&1

script.log будет содержать любойвывод или ошибки из вашего скрипта.Вы можете добавить команду date в скрипт, чтобы получить информацию о том, когда он был запущен.Подробнее о cron здесь.

Также, если вы хотите ввести пароль в сценарий, вы можете перейти к обсуждению здесь .

...