Telepieza es un mezcla de ayuda, información, opinión, ocio, negocio y diversión, esperamos que todos vosotros os sintaís en vuestra casa.
|
27
05
2008
Realizar script en linux para ejecutar programas en Java (2ª Parte)Escrito por: Telepieza en Programación Enviar Entrada
Si gusta la sección de programas realizados en scripts para lanzar programas, tenemos un montón que controlan servicios de los servidores, limpian log, analizan el estado de la base de datos ……………. Pero nos vamos a centrar en el 2º script y los puntos a tener en cuenta antes de ejecutar un programa en java son :
Antes de analizar el 2º programa o script realizado para linux o Aix, les aconsejo la lectura de la primera parte, por detallar y explicar el script que lanza a este script.
El código detallado del script es :
#!/bin/sh ######################################################### # Si indicamos /bin/sh -x vemos las instrucciones debug # NAME: /var/proceso/telepieza/MqLauncherPrograma.sh # REALIZADO : Por los Programadores de Telepieza, Año 2.007 # DESCRIPCION: El programa /var/proceso/EnvioPrograma.sh lanza por batch una vez controlado todos los servicios y estado de memoria del servidor el programa script /var/proceso/telepieza/MqLauncherPrograma.sh ########################################################## # Nombre de las variables y el porqué de su definición # HOST : Recupera el nombre del Host para envio por e-mail # USUARIO: Nombre Usuario para envio E-mail y autorizaciones fichero error # PROCESO : Descripcion para colocar en el Asunto del E-Mail # MENSAJE : Nombre de la compañia o descripción adicional # JRE : Ruta del Java en el LINUX o AIX # PROGMQM : Ruta principal de los programas lanzadera # PATH : Todas las rutas para la busqueda de programas # PROGPATH : Ruta de los programas Launcher # MQCLASSPATH: Ruta donde están los paquetes de aplicación de Java # LIBRARY : Librerias de Objetos adicionales para ejecutar aplicacion # APLAPCLASSPATH : Ruta + programa inicial arranque java aplicación (main) # BDLAPCLASSPATH : Ruta + programa conector Base de Datos en .jar # LIBRARY : Parametros a pasar # MQERROR : Ruta + fichero .txt para envio e-mail si existe error # MQFHOY : Fecha inicio del proceso # MQHORA : Hora inicio del proceso # MQFECHA : Fecha + hora de inicio # BDFECHA : Fecha en formato AAMMDD # MQEMP : Variable para diferencias servidores y empresas ############################################## HOST=`uname -n` USUARIO=”mtproceso” PROCESO=”Lectura de MqSeries y MySql-MqLauncherPrograma” MENSAJE=”Telepieza 2º Programa por batch” JRE=”/usr/java14/bin/java” PROGMQM=”/var/proceso” PATH=$PROGMQM:$PATH export PATH PROGPATH=”/var/proceso/telepieza” MQCLASSPATH=”/usr/proceso/java/lib” LIBRARY=-Djava.library.path=${MQCLASSPATH} APLAPCLASSPATH=${MQCLASSPATH}/progserver.jar BDLAPCLASSPATH=${APLAPCLASSPATH}:${MQCLASSPATH}/mysql-connector.jar MQERROR=”${PROGPATH}/tmp/MqErrorLaunPrograma.txt” MQFHOY=$(date +%d/%m/%Y) MQHORA=$(date +%H:%M:%S) MQFECHA=”${MQFHOY}-${MQHORA}” BDFECHA=$(date +%Y%m%d) MQEMP=”A1-A2 ” cd $PROGPATH ####################################### # Función Envio de Informacion al usuario por e-mail #### ######################################## SalirEmail () { ### Rutina envio E-Mail date >> $MQERROR ### Fecha echo &HOST >> $MQERROR ### Host echo $MENSAJE >> $MQERROR ### Mensaje echo “Fin Proceso $0 ” >> $MQERROR ### Programa cat $MQERROR | mail -s “$PROCESO $HOST ” $USUARIO Salir } ################################### # Salir del Programa #### ################################# Salir () { FQFHOY=$(date +%d/%m/%Y) # Fecha Actual Fin Proceso FQHORA=$(date +%H:%M:%S) # Hora Actual Fin Proceso FQFECHA=”${FQFHOY}-${FQHORA}” # Fecha + Hora Actual echo ” ${MENSAJE} – Fecha : ${FQFECHA} ” >> $MQERROR exit } ########################################### # Empieza la logica del Programa #### ########################################### if [ ! -f $MQERROR ] ### Si no existe Fichero then > $MQERROR ### Crea Fichero chmod 666 $MQERROR ### Permisos de Grabar/Leer chgrp mtproceso $MQERROR ### Grupo mtproceso chown mtproceso $MQERROR ### Usuario mtproceso fi ######################################################## #### Programa en Java que lee una B.D. MySQL y graba en otro servidor ### ######################################################## echo “EMPRESA : ${MQEMP} – EMPIEZA – Programa : ${0} – Fecha : ${MQFECHA}” > $MQERROR echo “Entra en BASE DE DATOS – MqGrabarPrograma en Java -” >> $MQERROR ${JRE} ${LIBRARY} -cp ${BDLAPCLASSPATH} autoserver.mq.MqGrabarPrograma $BDFECHA $MQEMP RC=$? # Recuperar Valor del Programa if [ $RC -eq 9 ] # Analiza valor Error 9 then MENSAJE=”ERROR LECTURA BASE DE DATOS FICHEROS : $RC ” SalirEmail # Envio E-Mail fi MENSAJE=”- ADIOS – Programa : ${0} ” Salir Es importante entender cómo el script gestiona las variables y rutas para ejecutar un programa en java con conectores MySQL en .jar y otras aplicaciones .jar necesarias para su ejecución. Por cierto, no me puedo olvidar de la ruta principal de la maquina virtual de Java. Un Saludo de Telepieza
Artículos RelacionadosUna Respuesta a “Realizar script en linux para ejecutar programas en Java (2ª Parte)”Deja una Respuesta |
Si desea contactar con telepieza, puede enviar un e-mail a:
telepieza@telepieza.com.
Normas de uso y Politica de privacidad .Telepieza empezó el 20/12/2007 a las 18h (Hora Española).
Ayude a financiar Telepieza en Internet, picando un anuncio de su interes en nuestro Weblog.

Entradas (RSS)
noviembre 26th, 2008 a las 6:14
Esta muy bueno el tema, pero soy bastante neofito en esto y neesito convertir un bat en un script sh.
El bat es el siguiente:
@if not exist lib\xwexplore.jar goto ok1
@del lib\xwexplore.jar
@if not exist plugin\xwexplore_basic_plugin.jar goto ok2
@del plugin\xwexplore_basic_plugin.jar
java -mx800m -ms256m -classpath lib\instancecreator2.jar;
lib\tool-common.jar;lib\taxeditor2.jar;lib\xwexplorer.jar;lib\xwandlink.jar;
lib\xmlpro.jar;lib\xmlschemac.jar;lib\xmltransx.jar;lib\xwand.jar;
lib\xwandschema.jar;lib\xbrldiff2se.jar;lib\xmlpath2.jar;
lib\xmlpath2fn.jar;lib\xwand_xpath2.jar -
Dcom.fujitsu.xml.xbrl.report.taxonomy.supportCSV=yes com.fujitsu.xml.xbrl.xwexplorer.XWandExplorerPlatform %*
Yo trate de hacer esto, pero no me funciona:
#!/bin/bash
# ex:
# ~/folder$ ./
# classpath
CLASSPATH=”lib\instancecreator2.jar:lib\tool-common.jar:lib\taxeditor2.jar:lib\xwexplorer.jar:lib\xwandlink.jar:
lib\xmlpro.jar:lib\xmlschemac.jar:lib\xmltransx.jar:lib\xwand.jar:
lib\xwandschema.jar:lib\xbrldiff2se.jar:lib\xmlpath2.jar:
lib\xmlpath2fn.jar:lib\xwand_xpath2.jar
java -Xmx512m -cp “$CLASSPATH”
Dcom.fujitsu.xml.xbrl.report.taxonomy.supportCSV=yes com.fujitsu.xml.xbrl.xwexplorer.XWandExplorerPlatform %*
Si me puedes orientar, desde ya muchas gracias