2017-02-10 7 views
0

Мне нужно написать сценарий оболочки, в котором мне нужно отскакивать сервер Tomcat (это возможно в любой системе). Следовательно, я хотел знать, как мне проверить, запущен ли tomcat как служба с «сервисом tomcat6 start» или скриптом «./bin/startup.sh»?Tomcat как услуга

ответ

0

Если это для производственного сервера: предположим, что он всегда запускается как служба. Если вы обнаружите, что это не так: найдите человека, который начал с оболочки и стрелял в них.

Твердые слова, но на производственных системах: Отключите, держите их в соответствии со стандартом. Если вы автоматизируете подпрыгивание (перезапуск): это то, что вы делаете.

Опасности при запуске через startup.sh: Процесс запускается как любой пользователь, выполняющий сценарий - потенциально не имеющий прав на запись в файлы журнала и temp, или разрушение его для следующего запуска через service tomcat start, когда служба может " t получить доступ к этим файлам больше.

Думая об этом: Возможно, было бы неплохо проверить (по крайней мере) личность текущего пользователя в startup.sh (или setenv.sh) и прекратить работу, если она не является ожидаемой. Таким образом, фактически запрещается запускать startup.sh как обычного пользователя, включая root.

Смежные вопросы