![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí. |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| IF THEN ELSE Lógica | jadionne | UNIX for Dummies Preguntas y Respuestas | 7 | 11-23-2007 04:27 AM |
| no puede obtener la lógica | dineshr85 | Programación de scripts de shell y | 3 | 10-11-2007 08:34 AM |
| Script no funciona, pero los comandos dentro de los trabajos | cheongww | UNIX for Dummies Preguntas y Respuestas | 2 | 11-14-2006 10:52 PM |
| Automatizado de FTP con el directorio a la variable de error de verificación | songtam | UNIX for Dummies Preguntas y Respuestas | 3 | 04-10-2006 10:57 AM |
| Comprobación del estado de FTP Automatizado | anijog | Programación de scripts de shell y | 5 | 03-04-2004 02:30 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Necesidad de comprobar la lógica de trabajo automatizado del Empleo en awk o SED.
Tengo un programa Java que automáticamente algunas trabajo programado para actualizar DB o algún otro trabajo. Estoy de seguimiento de los puestos de trabajo con los mensajes de registro y averiguar que es ejecutar correctamente o no. Quiero escribir un script para capturar correctamente a tiempo.
Di Job1 se está ejecutando en 15, 30, y 45 cada hora, entonces es dejar una entrada en el archivo de registro que "JOB1 se inicia". Al igual que este. Ejemplo de horas 11:00 pm medios -- No. Scheduler_Worker-3: 23:15:56 105 SendToCM: run () Entrada donde "SendToCM: run () Entrada" mensaje de registro a partir del programa de Java que escribir en el mensaje de registro, '23:15:56'Es el tiempo. Tengo que comprobar la última hora 15, 30, 45 minutos en los archivos de registro para averiguar la entrada o no es su yo íntimo a través de correo electrónico a mí. Tengo una lógica, pero no probado aún. Durante 15 minutos estoy con control sed como este, sed -n "/: $ h: 15:00 /, /: $ h: 15:01 / p" schedulerTrace. registro> Job1.log aquí $ h contiene la hora actual y en el control job1.log estoy otra vez, como count \u003d grep-c "SendToCM: run () de entrada" Job1.log. si es cero luego contar la JOB1 no se corrió y yo, para comprobar la necesidad excepción. Pero esta lógica es muy oblicuo para mí. ¿Podría usted por favor que me ayude en la búsqueda de una correcta lógica para esto. Recuerdos, Senthilkumar. |
|
||||
|
¿Por qué no pasar por alto el segundo componente completamente sólo y hacer algo como:
Código:
if grep -q ": $h:15.*SendToCM: run()" schedulerTrace.log
then
echo job did run
else
echo job did not run
fi
Última edición por Annihilannic; al 09-01-2008 03:46 AM.. Exposición de motivos: se olvidaron de la parte SendToCm |
|
||||
|
Annihilannic fantástico,
gracias por tu sugerencia. Una cosa más. ¿Es posible para mí, para comprobar todos los 15, en un 30,45 entires grep o i desea utilizar un separte uno. Senthil |
|
||||
|
Así que ... que desea ejecutar sólo su cheque una vez por hora y ver si se ha quedado tres veces?
Código:
if [[ "$(grep -Eqc ": $h:(15|30|45):.*SendToCM: run\(\)" schedulerTrace.log)" -eq 3 ]]
then
echo job did run 3 times in the hour
else
echo job did not run 3 times in the hour
fi
|
|
||||
|
Bueno, sí tienes razón, los archivos de registro contiene registros de un solo día. Pero con esta condición, i no será comprobar el trabajo cuando no corrían, por lo que poco modificados y utilizados de esta manera, por favor, hágamelo saber si se hace alguna cosa mal.
# Bucle para comprobar la Job1 CM <Send Para iniciar correctamente o not> if [$ min ge-1-o $ min-lt 30] y, a continuación, count \u003d `grep-ic": $ h: 01 .* SendToCM: Inicio: "$ logpath» elif [$ min ge-30-o $ minutos-le 59] y, a continuación, count \u003d `grep-ic": $ h: 30 .* SendToCM: Inicio: "$ logpath» fi if [$ count-eq 0]; a continuación, echo-e "\ nLa Job1 Enviar a CM no se ha iniciado como schdueld en 1 y 30">> mail.log fi i enviará por correo el mail.log después de comprobar en el pasado para otros puestos de trabajo demasiado |
|
||||
|
No veo nada malo, evidentemente, existe.
|
![]() |
| Marcadores |
| Etiquetas |
| awk, grep o, sed |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|