重新引导服务器后在Linux中重新启动服务

时间:2019-02-23 18:15:32

标签: linux tomcat nodemanager

因此,今天由于某些问题,我们的其中一台应用程序服务器已重新启动,重新启动后,我们发现我们的应用程序服务未运行。

我想创建一个脚本,该脚本将在服务器重启后检查以下这些服务,并在发现停止后自动启动它们:

具有路径的第一项服务:/opt/bea/config/nm/nm-sdi-abc/beaNMctl.sh

第二项服务TOMCAT-路径:/ opt / apache / tomcat / bin ---服务名称startup.sh

这里是第一项服务,可以使用我使用的普通ID帐户启动。

但是在登录相同服务器和网络上的另一个服务帐户后,可以重新启动第二个服务。如下所示:

[x201691 @ abc bin] $ su-阿帕奇

密码:

-bash-2.05b $ cd /

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

-bash-2.05b $ ./startup.sh

有人可以帮忙吗?

我们也不是root用户。

2 个答案:

答案 0 :(得分:0)

您可以编写一个shell脚本:

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的更多信息,请点击此处。

此外,如果您担心在脚本中输入密码,可以进行讨论here

答案 1 :(得分:0)

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