Domanda

Esiste un'applicazione Java ServerPages (JSP) attualmente in esecuzione all'interno di una casella * NIX che gestisco in qualche modo con buoni permessi. L'idea è quella di creare una nuova pagina JSP semplice ma morta per controllare alcuni script di Korn Shell che ho eseguito lì. Quindi l'obiettivo è creare una sorta di modulo HTML che scriverà una specie di file 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

che può quindi essere verificato per l'esistenza all'interno dello script in esecuzione, consentendo quindi di attivarlo / disattivarlo facilmente senza realmente avere a che fare con cron. Per favore fatemi sapere se tutto ciò ha senso e non esitate a porre tutte le domande necessarie.

Grazie mille in anticipo!

È stato utile?

Soluzione

Potresti avere problemi di sicurezza qui. Considera quali rischi hai e prendi le misure appropriate per autenticare gli utenti e assicurarti che siano autorizzati per questa operazione. I passaggi necessari per questo dipendono in una certa misura dal contenitore servlet che si sta utilizzando.

Non hai bisogno di una libreria come Apache Commons IO per un compito così semplice. File.createNewFile e File.delete potrebbe essere utilizzato se non sei preoccupato per una condizione di competizione tra due utenti diversi.

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.";

Un cron job può verificare se il file (vuoto) esiste o meno e agire di conseguenza.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top