tomcat重启后日志文件无法创建

时间:2015-03-04 16:58:16

标签: java tomcat amazon-web-services ssh amazon-ec2

我有一个ec2实例,我远程登录到远程EC2服务器(作为ec2用户),我的应用程序托管在其tomcat服务器上。 tomcat服务器为此特定应用程序生成日志文件。

如果我删除日志文件(test_app.log)并使用 startup.sh 命令手动重启服务器,则会创建一个具有相同名称的新日志文件,但是当我尝试通过远程登录执行此操作它无法正常工作。 tomcat服务器正在重新启动(我已在我的浏览器上验证过它),但日志文件没有生成。 因为我想为我的所有应用程序运行单独的日志,我首先通过杀死它来停止tomcat,然后我将test_app.log移动到带有时间戳的其他名称,然后重新启动服务器。 当我第一次使用自动脚本ssh时,一切按照上面的计划发生,但是从下一次迭代开始没有任何反应。即使使用touch后也没有创建新文件。

请注意,如果我手动完成整个过程,所有命令都能正常运行,一切正常。

ssh -i $Public_Key_Loc -tt $Remote_user@$PrivateIpSPL <<-ENDSSH
sudo su - spluser
kill -9 $(ps -elf | grep tomcat|cut -d ' ' -f6 | head -n 1)
mv /opt/tomcat/current/logs/spl/spl-test-tool/test_app.log /opt/tomcat/current/logs/spl/spl-test-tool/$(date "+%Y.%m.%d-%H.%M.%S").test_app.log
touch test_app.log
chown spluser:splgrp test_app.log 
chmod 644 test_app.log
/opt/tomcat/current/bin/startup.sh 
exit
exit
ENDSSH

1 个答案:

答案 0 :(得分:1)

我认为罪魁祸首是触摸命令,文件将在当前文件夹中创建,我认为你也应该提供绝对路径。