Question

Il existe une application Java ServerPages (JSP) en cours d'exécution dans une zone * NIX que j'administre quelque peu avec de bonnes autorisations. L'idée est de créer une nouvelle page JSP simple mais morte pour contrôler certains scripts Korn Shell que j'ai exécutés là-bas. L’objectif est donc de créer une sorte de formulaire HTML qui rédigera une sorte de fichier 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

dont l’existence peut ensuite être vérifiée dans le script en cours d’exécution, ce qui permet de l’activer / désactiver facilement sans avoir à traiter réellement avec cron. Faites-moi savoir si tout cela a du sens et n'hésitez pas à poser autant de questions que nécessaire.

Merci beaucoup d'avance!

Était-ce utile?

La solution

Vous pouvez avoir des problèmes de sécurité ici. Déterminez les risques que vous avez et prenez les mesures appropriées pour authentifier les utilisateurs et assurez-vous qu'ils sont autorisés pour cette opération. Les étapes nécessaires à cette fin dépendent dans une certaine mesure du conteneur de servlet que vous utilisez.

Vous n'avez pas besoin d'une bibliothèque comme Apache Commons IO pour une tâche aussi simple. File.createNewFile et Fichier.delete peut être utilisé si vous n'êtes pas préoccupé par une situation de concurrence critique entre deux utilisateurs différents.

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 travail cron peut vérifier si le fichier (vide) existe ou non, et agir en conséquence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top