我在/ opt / tomcat6中安装了tomcat,并在〜/ tomcatHost目录中创建了一个实例./ opt / tomcat6由用户tomcat和group tomcat拥有。 Unix“ls -l”产生以下 -
drwxr-xr-x 9 tomcat tomcat 4096 Dec 15 03:37 tomcat6
在这种情况下,要在〜/ tomcatHost中运行tomcat实例,我需要执行以下步骤 -
$ chmod -R 777 tomcatHost
$ export CATALINA_BASE=/home/guestUser/tomcatHost
$ su tomcat
$ cd /opt/tomcat6/bin
$ sh startup.sh
现在tomcat从server.xml中配置的端口开始。我正在尝试编写一个执行上述任务的shell脚本。我是shell脚本的新手,无法解决这个问题。我认为存在所有权问题,任何人都可以告诉我如何处理shell脚本中的所有权问题?或者,如何编写脚本以从其他用户运行“startup.sh”(由tomcat用户拥有)。你能为此建议任何好的教程吗?
答案 0 :(得分:1)
我已经得到了解决方案。可能它不是最好的解决方案,但它的效果非常好。我在名为'start.sh'的文件中编写了以下代码(基于this.) -
export CATALINA_BASE=/home/razib/tomcat_host echo "CATALINA_BASE is set..." echo "Password for 'tomcat' - " su -c "sh /opt/tomcat6/bin/startup.sh" -s /bin/sh tomcat
然后从终端我运行'start.sh'scrip