Я хочу, чтобы мой сервер tomcat запускался автоматически при запуске. Поэтому я извлек из сети простой сценарий соответствия LSB и изменил его в соответствии со своими потребностями. Это сценарий:
# Provide logging functions like log_success_msg, log_failure_msg and log_warning_msg
. /lib/lsb/init-functions
[ -f /etc/default/rcS ] && . /etc/default/rcS
PATH=/opt/jdk1.7.0_21:/opt/apache-tomcat-7.0.39
case "$1" in
start)
/opt/apache-tomcat-7.0.39/bin/startup.sh
;;
stop)
/opt/apache-tomcat-7.0.39/bin/shutdown.sh
;;
restart|force-reload)
;;
status)
;;
*)
log_failure_msg "Usage: {start|stop|restart|force-reload|status}"
exit 1
esac
exit 0
Теперь я скопировал его в /etc/init.d и применил к нему "chmod + x tomcat". Затем я попытался запустить его
/etc/init.d # ./tomcat start
/opt/apache-tomcat-7.0.39/bin/startup.sh: 1: /opt/apache-tomcat-7.0.39/bin/startup.sh: uname: not found
/opt/apache-tomcat-7.0.39/bin/startup.sh: 1: /opt/apache-tomcat-7.0.39/bin/startup.sh: dirname: not found
Cannot find /catalina.sh
The file is absent or does not have execute permission
This file is needed to run this program
Что мне здесь не хватает?
Эти
uname: не найдено
dirname: не найдено
показать, что вам не хватает правильного пути.
Попробуйте изменить строку PATH в сценарии запуска на: PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/jdk1.7.0_21:/opt/apache-tomcat-7.0.39
Вот в чем проблема
ПУТЬ = / opt / jdk1.7.0_21: /opt/apache-tomcat-7.0.39
Вы забыли добавить к нему $ PATH .. это должно быть
ПУТЬ = / opt / jdk1.7.0_21: /opt/apache-tomcat-7.0.39: $ ПУТЬ