【问题标题】:tomcat startup script errortomcat启动脚本错误
【发布时间】:2012-04-11 12:33:33
【问题描述】:

我需要更改要由非 root 用户执行的 tomcat 进程。创建用户 tomcat 并将其放入 tomcat_group 组。更改了权限。然后在init.d中更改了启动脚本。

我以 root 用户身份运行的旧脚本是

#!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.6.0_31
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-7.0.26


case $1 in
start)
sh $CATALINA_HOME/bin/startup.sh
;; 
stop)   
sh $CATALINA_HOME/bin/shutdown.sh
;; 
restart)
sh $CATALINA_HOME/bin/shutdown.sh
sh $CATALINA_HOME/bin/startup.sh
;; 
esac    
exit 0

作为 root 用户运行良好。

新脚本是这样的

    #!/bin/bash
# description: Tomcat Start Stop Restart
# processname: tomcat
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.6.0_31
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/usr/share/apache-tomcat-7.0.26/bin


case $1 in
start)
/bin/su tomcat $CATALINA_HOME/startup.sh
;; 
stop)   
/bin/su tomcat $CATALINA_HOME/shutdown.sh
;; 
restart)
/bin/su tomcat $CATALINA_HOME/shutdown.sh
/bin/su tomcat $CATALINA_HOME/startup.sh
;; 
esac    
exit 0

但这会在启动我的服务时出错 找不到什么问题

【问题讨论】:

    标签: linux tomcat centos


    【解决方案1】:

    我知道这是一个老问题,但这个答案可能会让某人受益。

    “没有这样的文件或目录”我遇到了同样的问题。我将服务命令作为 shell 脚本运行 $> /etc/init.d/tomcat stop 返回: -bash: /etc/init.d/tomcat: /bin/bash^M: bad interpreter: No such file or directory

    因为我在 Windows 环境中创建了脚本,所以它有 Windows 行结尾。一旦我解决了这个问题,Tomcat 就可以毫无问题地作为服务启动。

    这篇文章可能有助于换行How to convert DOS/Windows newline (CRLF) to Unix newline (\n) in a Bash script?

    【讨论】:

    • 很棒的提示!这个救了我。
    【解决方案2】:

    su 需要 -c 如果你想用它启动命令:

    /bin/su tomcat -c whatever_command
    

    【讨论】:

    • 显示这个错误:env: /etc/init.d/tomcat: No such file or directory
    • 我在 "etc/init.d" 中有一个名为 tomcat 的脚本。并运行“服务 tomcat start”
    • 如果注释掉su 行,这个错误还会发生吗?
    【解决方案3】:

    这很可能是将$CATALINA_HOME 变量更改为/bin 的结果。

    startup.sh 调用 catalina.sh 脚本,这取决于 $CATALINA_HOME 是一个特定的目录。我绝对建议将其改回CATALINA_HOME=/usr/share/apache-tomcat-7.0.26,然后将/bin 添加回命令调用中。 Tomcat 严重依赖CATALINA_HOME 环境变量。

    希望对您有所帮助。

    编辑:您仍然需要考虑 Mat 的回答,这应该只是修复您现在遇到的文件未找到错误。

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      • 2012-06-10
      • 2013-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多