启动时服务未在 Centos 上启动

sil*_*ger 6 linux centos chkconfig init.d

我安装了一个服务来在启动时启动 jasper 报告服务器。我相信它设置正确。

这是放置在 /etc/init.d/jasperserver 中的启动脚本

#!/bin/sh
### BEGIN INIT INFO
# Provides:          jasperserver
# Required-Start:
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start JasperServer at boot time
# Description:       Enable service provided by JasperServer.
### END INIT INFO

JASPER_HOME="/opt/jaspersoft/jasperreports-server-5.5"

case "$1" in
  start)
    if [ -f $JASPER_HOME/ctlscript.sh ]; then
      echo "Starting JasperServer"
      sudo -u ec2-user $JASPER_HOME/ctlscript.sh start
    fi
    ;;
  stop)
    if [ -f $JASPER_HOME/ctlscript.sh ]; then
      echo "Stopping JasperServer"
      sudo -u ec2-user $JASPER_HOME/ctlscript.sh stop

    fi
    ;;
  restart)
    if [ -f $JASPER_HOME/ctlscript.sh ]; then
      echo "Restarting JasperServer"
      sudo -u ec2-user $JASPER_HOME/ctlscript.sh restart
    fi
    ;;
  status)
    if [ -f $JASPER_HOME/ctlscript.sh ]; then
      sudo -u ec2-user $JASPER_HOME/ctlscript.sh status
    fi
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

另外,我运行命令

sudo chmod +x /etc/init.d/jasperserver
Run Code Online (Sandbox Code Playgroud)

然后我运行了命令

sudo chkconfig --add jasperserver
sudo chkconfig jasperserver on
Run Code Online (Sandbox Code Playgroud)

如果我运行:

chkconfig --list  | grep jasper
Run Code Online (Sandbox Code Playgroud)

我懂了:

jasperserver    0:off   1:off   2:on    3:on    4:on    5:on    6:off
Run Code Online (Sandbox Code Playgroud)

我也可以运行:

sudo service jasperserver (start|stop|restart) 
Run Code Online (Sandbox Code Playgroud)

成功地

但是,当我重新启动时,该服务没有运行。我想知道是否有办法获取日志信息或启用日志来解决这个问题。


更多详情

uname -a
Linux jaspersoft.localdomain 3.10.42-52.145.amzn1.x86_64 #1 SMP Tue Jun 10 23:46:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

在添加行之后:

# chkconfig: 2345 70 30
Run Code Online (Sandbox Code Playgroud)

符号链接如下:

[ec2-user@jaspersoft ~]$ ls -laF /etc/rc.d/rc3.d/*jasper*
lrwxrwxrwx 1 root root 22 Aug  6 08:09 /etc/rc.d/rc3.d/S70jasperserver -> ../init.d/jasperserver*
Run Code Online (Sandbox Code Playgroud)

且同样/etc/rc.d/rc[2-5].d/碧玉

HBr*_*ijn 4

# chkconfig: - 30 60我在启动脚本中没有看到一行规定启动序列 (30) 或关闭 (60) 序列中的顺序号。

/etc/rc[0-6].d/正在为您的服务设置哪些符号链接?

IIRC 当未定义时使用 prio 50。这可能会导致在其他依赖项启动之前尝试启动您的服务。