![]() |
|
|
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 |
| Configuración cronjobs ... | krworks | Programación de scripts de shell y | 4 | 06-06-2008 03:46 AM |
| el control de script de shell | JLJ | Programación de scripts de shell y | 3 | 01-22-2007 02:16 AM |
| uso de expresiones regulares en c depósito estructura de control | ballazrus | Programación de scripts de shell y | 3 | 02-20-2006 12:59 AM |
| Cronjobs | mcastill66 | AIX | 1 | 05-31-2005 03:15 PM |
| cronjobs | domador | UNIX for Dummies Preguntas y Respuestas | 3 | 01-22-2001 02:48 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Cómo controlar Cronjobs mediante script de shell?
Hi All,
Ahora estoy corriendo los 3 procedimientos oráculo manualmente uno por uno. Consulta: Si es 1 ª Procedimiento OUT_PUT éxito y, a continuación, 2 ª convocatoria de procedimiento. 2 º Si es OUT_PUT Procedimiento de éxito, entonces llame a 3 de Procedimiento. Si el 1 de procedimiento no es, entonces no hay necesidad de llamar a los demás procedimientos. ¿Cómo a la Lista 1, 2, 3 puestos de trabajo Procedimientos @ ############################################### CALENDARIO DE EMPLEO ############################################### # 30 01 * * * / u14/ods/scripts/in_pps_state_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 # 00 03 * * * / u14/ods/scripts/in_pps_cos_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 # 30 04 * * * / u14/ods/scripts/in_pps_usage_change.sh>> / u14/ods/scripts/scriptslog/in_other_mail.log 2> & 1 ################################################ CONVOCATORIA DE PROCEDIMIENTO ORACLE script de shell ################################################ Por ejemplo, llamando de SP:: in_pps_usage_change.sh Retval \u003d `sqlplus-s SAO / SAO ODSDB @ <<EOF AJUSTE DE SERVEROUTPUT TAMAÑO 100000 Declarar OUT_STATUS NÚMERO; OUT_MSG VARCHAR2 (200); Empezar ODS_SP_REMOVE_PRE_SUB_DUP (OUT_STATUS, OUT_MSG); dbms_output.put_line ( 'KeepThis' | | OUT_STATUS | |' '| | nvl (OUT_MSG ,'')); Fin; / AJUSTE NO SERVEROUTPUT SALIR; EF » X \u003d `echo $ retval | grep KeepThis | awk '(print $ 2)'` Y \u003d `echo $ retval | grep KeepThis | awk '(print $ 3)'` echo "">> $ USER_LOG echo "Procedimiento: ODS_SP_REMOVE_PRE_SUB_DUP de salida es el siguiente:">> $ USER_LOG echo "OUT_STATUS \u003d $ X">> $ USER_LOG echo "OUT_MSG \u003d $ S">> $ USER_LOG ################################################ Por favor, me proporcionará la solución de mi pregunta .. Gracias y Saludos Hanuma |
|
||||
|
¿Por qué no mantener a todos en un solo script, y que comenzará a las 01:30? Entonces es mucho más fácil para ver si la primera no subjob. Código:
if in_pps_state_change.sh; then in_pps_cos_change.sh in_pps_usage_change.sh fi Incluso puede funcionar con "a" si se ejecuta en un momento determinado es importante. Pero entonces, usted necesita estar seguro de que in_pps_state_change.sh termina antes de la próxima tarea es debido. Código:
if in_pps_state_change.sh; then # Todo: maybe die a horrible death if the time is already past 03:00 echo /u14/ods/scripts/in_pps_cos_change.sh | at 03:00 echo /u14/ods/scripts/iin_pps_usage_change.sh | at 04:30 fi Editado por última época; al 03-18-2008 07:40 AM.. Motivo: Agregar "en" ejemplo |
|
||||
|
Cita:
|
|
||||
|
Tengo uno más dought?
Si el 1 de procedimiento se ejecuta, pero el proceso no se realiza debido a la ORA-03113: Fin de Comminication canal de error. En este caso SI LOOP puede correr el 2 º y 3 º Procedimientos éxito ????? Cualquier solución está ahí, para el control de 2 ª, 3 ª procedimientos? |
|
||||
|
También debe tener cuidado para que el código de salida correctamente desde la secuencia de comandos, de manera que el script de shell que recoge estos pueden examinarla.
Supongo que algo así como si es OUT_STATUS "éxito" de salida 0, algunos mayor número (0 significa éxito). Usted tiene el control del primer script de shell (y si no, crear un script que está en el control de), por lo que simplemente hacen regresar éxito (cero) en las condiciones cuando la segunda y la tercera se puede ejecutar secuencias de comandos, y no de cero si no. Editado por última época; al 03-18-2008 08:28 AM.. Motivo: Respuesta a la última pregunta, también |
|
||||
|
Cita:
Gracias .... |
|
||||
|
¿Qué tal el operador & &? Código:
procedure1 && procedure2 && procedure3 Esto hace exactamente lo que usted desea. Si cualquiera de ellos falla (no devuelve un cero de salida), entonces ninguno de los siguientes se intentó. ShawnMilo |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|