使用Systemd脚本启动/停止SAP-Linux 7(RHEL7)

2020-08-20 11:28发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在RHEL7上创建systemd服务脚本,以在服务器重新启动后自动关闭/启动SAP应用程序。 我已经看到一些论坛讨论此问题,但是没有找到适合我的脚本的解决方案。

下面是我正在使用的systemd服务脚本,它可用于SAP应用程序的启动,但不适用于关机...当我尝试重新引导服务器时,所有服务将立即被杀死 无需在脚本上运行" ExecStop"命令。


您能告诉我一些如何解决此问题的方法吗?

 [单位]
 描述= SAP.service
 之后= local-fs.target network.target network-online.target

 [服务]
 类型=简单
 RemainAfterExit = true
 Environment =" SID1 = SID"" DAA = DAA"
 KillMode =无
 SendSIGKILL =否
 ExecStart =/usr/bin/python/usr/sap/scripts/SAPstart.py
 ExecStop =/usr/bin/python/usr/sap/scripts/SAPstop.py
 超时时间= 60

 [安装]
 WantedBy =多用户目标


 

预先感谢

卡洛斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在RHEL7上创建systemd服务脚本,以在服务器重新启动后自动关闭/启动SAP应用程序。 我已经看到一些论坛讨论此问题,但是没有找到适合我的脚本的解决方案。

下面是我正在使用的systemd服务脚本,它可用于SAP应用程序的启动,但不适用于关机...当我尝试重新引导服务器时,所有服务将立即被杀死 无需在脚本上运行" ExecStop"命令。


您能告诉我一些如何解决此问题的方法吗?

 [单位]
 描述= SAP.service
 之后= local-fs.target network.target network-online.target

 [服务]
 类型=简单
 RemainAfterExit = true
 Environment =" SID1 = SID"" DAA = DAA"
 KillMode =无
 SendSIGKILL =否
 ExecStart =/usr/bin/python/usr/sap/scripts/SAPstart.py
 ExecStop =/usr/bin/python/usr/sap/scripts/SAPstop.py
 超时时间= 60

 [安装]
 WantedBy =多用户目标


 

预先感谢

卡洛斯

付费偷看设置
发送
11条回答
悻福寶寶
1楼-- · 2020-08-20 12:13

有什么想法吗?

大简至美
2楼-- · 2020-08-20 12:22

请注意,如果我使用以下命令对其进行测试,它将可以正常工作:

systemctl停止SAP.service

systemctl启动SAP.service

systemctl重新启动SAP.service

仅当我使用" systemctl reboot"命令重新引导服务器时,才会出现此问题。

callcenter油条
3楼-- · 2020-08-20 12:06

使用systemctl命令检查您的服务,还请检查该服务是否启用。

#systemctl <您的服务>停止

在调用 adm用户环境后,我在" ExecStop"上调用了stopap,它对我有用。

同时检查以下答案

https://answers.sap.com/questions/68268/systemd-configuration-for-startingstopping-sap.html?childToView=199140#answer-199140

Climb_Ma
4楼-- · 2020-08-20 12:17

嗨,普拉桑塔,

感谢您的回答。 我刚刚验证了该服务,并且已启用。

在我的情况下,我不能仅使用" stopsap"命令,因为我需要启动/停止服务器中的其他内容,这是我拥有自定义脚本的原因。

我刚刚看到,使用命令" sudo systemctl reboot"重新引导服务器时,将调用我的服务上的" ExecStop",但是由于" sudo systemctl reboot"会杀死所有服务器,因此无法完全关闭应用程序 服务/流程立即。 似乎没有考虑我在下面的服务中添加的"超时"参数。

这就是我现在的服务方式。 如果您有任何新想法,请告诉我。 谢谢!!

 [单位]
 描述= SAP.service
 之后= local-fs.target network.target network-online.target

 [服务]
 类型=简单
 RemainAfterExit = true
 Environment =" SID1 = SID"" DAA = DAA"
 KillMode =无
 SendSIGKILL =否
 超时时间= 2分钟
 TimeStopSec = 2分钟
 ExecStart =/usr/bin/python/usr/sap/scripts/SAPstart.py
 ExecStop =/usr/bin/python/usr/sap/scripts/SAPstop.py

 [安装]
 WantedBy =多用户目标


 
hongfeng1314
5楼-- · 2020-08-20 12:27

嗨,卡洛斯

1。 睡眠写在stopap上,不确定如何停止SAP。 如果您在内部调用它(例如,在StopaSap和 SAPstart.py 内部执行),则sysmd可能不会等待并标记为 服务关闭,然后重新启动。

2。 systmectl应该启动SAP,例如 您使用命令startsap启动SAP并尝试停止使用systemctl时,由于服务状态无效,它可能会失败。 在尝试使用systemctl 停止之前,服务应已完成并且处于活动状态。 请查看以下链接以获取更多详细信息

ExecStop =

如果可能,请使用多带带的服务停止其他操作。

让我知道它是否对您有用!

感谢与问候

小c菟菟
6楼-- · 2020-08-20 12:26

嗨,卡洛斯,

面对同样的问题!

你克服了吗? 如果是的话

谢谢

Moti

一周热门 更多>