在* NIX框中有一个实际运行的Java ServerPages(JSP)应用程序,我在某种程度上管理了一些好的权限。我的想法是创建一个新的但是死的简单JSP页面来控制我在那里运行的一些Korn Shell脚本。因此,我们的目标是制作某种HTML表单,编写某种scriptStatus.on / scriptStatus.off文件:
#!usr/bin/ksh
# coolScript.sh
# This is my cool script that is being launched by cron every 10 minutes.
if [ -e scriptStatus.off ]
then
# monitor disabled
else
# monitor enabled
fi
然后可以在运行脚本中检查是否存在,因此允许轻松激活/停用它而无需实际处理cron。如果所有这些都有意义,请告诉我,并毫不犹豫地提出所需的问题。
提前多多谢谢!
答案 0 :(得分:2)
您可能在此处遇到安全问题。考虑您面临的风险,并采取适当的步骤对用户进行身份验证,并确保他们获得此操作的授权。这需要的步骤在某种程度上取决于您正在使用的servlet容器。
您不需要像Apache Commons IO这样的库来完成这么简单的任务。如果您不关心两个不同用户之间的竞争条件,则可以使用File.createNewFile和File.delete。
File flag = new File("/path/scriptStatus.off");
String message;
if (flag.delete())
message = "Script enabled.";
else if (flag.createNewFile())
message = "Script disabled.";
else
/* Maybe missing directory, wrong permissions, race condition. */
message = "Error: script state unknown.";
cron作业可以检查(空)文件是否存在,并采取相应的行动。
答案 1 :(得分:1)