Pregunta

Existe una aplicación Java ServerPages (JSP) real en ejecución dentro de un cuadro * NIX que de alguna manera administro con buenos permisos. La idea es crear una nueva página JSP simple pero muerta para controlar algunos scripts de Korn Shell que tengo ejecutándose allí. Por lo tanto, el objetivo es crear algún tipo de formulario HTML que escriba algún tipo de archivo 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

que luego se puede verificar su existencia dentro del script en ejecución, lo que permite activarlo / desactivarlo fácilmente sin tener que lidiar con cron. Avíseme si todo esto tiene sentido y no dude en hacer tantas preguntas como sea necesario.

¡Muchas gracias de antemano!

¿Fue útil?

Solución

Puede tener problemas de seguridad aquí. Considere qué riesgos tiene y tome las medidas adecuadas para autenticar a los usuarios y asegurarse de que estén autorizados para esta operación. Los pasos necesarios para esto dependen en cierta medida del contenedor de servlets que esté utilizando.

No necesita una biblioteca como Apache Commons IO para una tarea tan simple. File.createNewFile y File.delete podría usarse si no le preocupa una condición de carrera entre dos usuarios diferentes.

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 trabajo cron puede verificar si el archivo (vacío) existe o no, y actuar en consecuencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top