因此,今天由于某些问题,我们的其中一台应用程序服务器已重新启动,重新启动后,我们发现我们的应用程序服务未运行。
我想创建一个脚本,该脚本将在服务器重启后检查以下这些服务,并在发现停止后自动启动它们:
具有路径的第一项服务:/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用户。
答案 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