0

*NIX ボックス内で実際に実行されている Java ServerPages (JSP) アプリケーションがあり、私はある程度適切な権限で管理しています。アイデアは、私がそこで実行しているいくつかの Korn シェル スクリプトを制御するために、新しいが完全に単純な JSP ページを作成することです。したがって、目標は、ある種の scriptStatus.on / scriptStatus.off ファイルを書き込む、ある種の HTML フォームを作成することです。

#!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 を処理することなく、簡単にアクティブ化/非アクティブ化できます。これらすべてが理にかなっている場合はお知らせください。必要なだけ質問することをためらわないでください。

よろしくお願いします!

4

2 に答える 2

2

ここでセキュリティの問題が発生する可能性があります。発生するリスクを検討し、適切な手順を実行してユーザーを認証し、ユーザーがこの操作を許可されていることを確認します。これに必要な手順は、使用しているサーブレットコンテナによってある程度異なります。

このような単純なタスクには、ApacheCommonsIOのようなライブラリは必要ありません。2人の異なるユーザー間の競合状態を気にしない場合は、 File.createNewFileFile.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ジョブは、(空の)ファイルが存在するかどうかを確認し、それに応じて動作します。

于 2008-11-20T17:11:58.007 に答える
1

おそらくhttp://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html#touch(java.io.File)

于 2008-11-20T17:11:13.217 に答える