在* 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。如果所有这些都有意义,请告诉我,并毫不犹豫地提出所需的问题。

提前多多谢谢!

有帮助吗?

解决方案

您可能在此处遇到安全问题。考虑您面临的风险,并采取适当的步骤对用户进行身份验证,并确保他们获得此操作的授权。这需要的步骤在某种程度上取决于您正在使用的servlet容器。

您不需要像Apache Commons IO这样的库来完成这么简单的任务。 File.createNewFile File.delete <如果您不关心两个不同用户之间的竞争条件,可以使用/ a>。

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作业可以检查(空)文件是否存在,并采取相应的行动。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top