我已经有了一个为RHEL6编写的服务,并且在那里我有一些自定义服务命令,我可以通过execute.Please查看下面的脚本摘录。
case "$1" in
'start')
start
;;
'stop')
stopit
;;
'restart')
stopit
start
;;
'status')
status
;;
'AppHealthCheck')
AppHealthCheck
;;
*)
echo "Usage: $0 { start | stop | restart | status | AppHealthCheck }"
exit 1
;;
esac 所有被调用的方法都有以前在RHEL6中的defination...So,如果我必须执行服务,看看它是否正常,我用来执行服务$servicename AppHealthCheck。它过去是有效的,但现在在RHEL7中,我不能在服务单元文件中定义,如果我想检查,比如AppHealth...As。根据我所做的研究,我了解到可以定义服务启动/停止/重新启动时将调用什么,但无法找到是否可以在script..Please中调用任何自定义方法参见下面的服务单元文件:
[Unit]
Description=SPIRIT Agent Application
[Service]
Type=forking
ExecStart=scripts/Agent start
ExecStop=scripts/Agent stop
ExecReload=scripts/Agent restart
[Install]你能帮我解决这个issue.Please吗?如果需要更多信息,请让我知道。
发布于 2016-11-21 22:29:00
systemd方法是将输出发送到日志,以便systemctl status显示最新的日志消息,并告诉您服务是否正在运行。如果想要更详细的状态,可以创建一个单独的命令行命令来执行AppHealthCheck。它不会通过systemctl执行,这是另一回事。
例如,这就是Pacemaker的工作原理。systemctl status pacemaker显示服务是否正在运行。
# systemctl status pacemaker
● pacemaker.service - Pacemaker High Availability Cluster Manager
Loaded: loaded (/usr/lib/systemd/system/pacemaker.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2016-11-10 15:28:11 GMT; 1 weeks 3 days ago
Nov 11 15:54:59 node1 crmd[4422]: notice: Operation svc1_stop_0: ok (node=node1, call=93, rc=0, cib-update=134, confirmed=true)
Nov 11 15:54:59 node1 crmd[4422]: notice: Operation svc2_stop_0: ok (node=node1, call=95, rc=0, cib-update=135, confirmed=true)
Nov 11 15:54:59 node1 crmd[4422]: notice: Operation svc3_stop_0: ok (node=node1, call=97, rc=0, cib-update=136, confirmed=true)pcs status提供了更多关于它是如何做的详细信息。
# pcs status
Cluster name: node
Stack: corosync
Current DC: node2 (version 1.2.3) - partition with quorum
2 nodes and 3 resources configured
Online: [ node1 node2 ]
Full list of resources:
<snip>
PCSD Status:
node1: Online
node2: Online
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled发布于 2016-12-16 20:58:46
在RHEL7中,我们不能像过去那样定义任何自定义服务命令,或者我们可以在RHEL6服务器中定义。因此,即使我们调用任何自定义服务命令,我们也必须在内部调用“service $servicename start”或“systemctl start$servicename”,以便RHEL7服务器可以识别服务正在运行
https://stackoverflow.com/questions/40722137
复制相似问题