![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| Indstilling cronjobs ... | krworks | Shell Programmering og Scripting | 4 | 06-06-2008 03:46 AM |
| kontrol over shell script | JLJ | Shell Programmering og Scripting | 3 | 01-22-2007 02:16 AM |
| ved hjælp af regulære udtryk i C shell kontrolstrukturen | ballazrus | Shell Programmering og Scripting | 3 | 02-20-2006 12:59 AM |
| Cronjobs | mcastill66 | AIX | 1 | 05-31-2005 03:15 PM |
| cronjobs | Tamer | UNIX for dummyer Spørgsmål & svar | 3 | 01-22-2001 02:48 PM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Sådan Control Cronjobs bruger Shell Script??
Hi All,
Nu er jeg kører 3 oracle procedurer en af en manuelt. Forespørgsel: Hvis 1. Procedure OUT_PUT er succes, så kalder 2. Procedure. Hvis 2. Procedure OUT_PUT er succes, så kalder 3. Procedure. Hvis 1. Procedure er mislykkedes, så intet behov for at ringe til andre procedurer. Sådan Forfaldsplan 1., 2., 3. Procedurer arbejdspladser @ ############################################### FORFALDSPLAN JOB ############################################### # 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 ################################################ INDKALDELSE ORACLE proceduren fra SHELL SCRIPT ################################################ F.eks af SP ringer:: in_pps_usage_change.sh RETVAL \u003d `sqlplus-s ODS / ODS @ ODSDB <<EOF SET SERVEROUTPUT på størrelse 100.000 Erklære OUT_STATUS NUMBER; OUT_MSG VARCHAR2 (200); Begynd ODS_SP_REMOVE_PRE_SUB_DUP (OUT_STATUS, OUT_MSG); dbms_output.put_line ( 'KeepThis' | | OUT_STATUS | |' '| | nvl (OUT_MSG ,'')); End; / SET SERVEROUTPUT OFF EXIT; EOF « X \u003d `echo $ RETVAL | grep KeepThis | awk '(print $ 2)'` Y \u003d `echo $ RETVAL | grep KeepThis | awk '(print $ 3)'` echo "">> $ USER_LOG echo "Procedure: ODS_SP_REMOVE_PRE_SUB_DUP output er:">> $ USER_LOG echo "OUT_STATUS \u003d $ X">> $ USER_LOG echo "OUT_MSG \u003d $ Y">> $ USER_LOG ################################################ Giv mig en løsning på min forespørgsel .. Thanks & Regards Hanuma |
|
||||
|
Hvorfor har du ikke holde dem alle i et enkelt script, og begynde at på 01:30? Så er det meget nemmere at se, om den første subjob mislykkedes. Code:
if in_pps_state_change.sh; then in_pps_cos_change.sh in_pps_usage_change.sh fi Du kan endda bruge dem med "at" hvis køre dem på et bestemt tidspunkt er vigtigt. Men så skal du være sikker på, at in_pps_state_change.sh færdig før den næste job skyldes. Code:
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 Sidst redigeret af æra; 03-18-2008 på 07:40 AM.. Årsag: Add "på" eksempel |
|
||||
|
Citat:
|
|
||||
|
Jeg har en mere dought??
Hvis den 1. procedure er gennemført, men processen er ikke sket på grund af ORA-03113: Slut på Comminication kanal Fejl. I dette tilfælde IF LOOP kan køre 2. & 3. Procedurer succes ????? Enhver løsning er der, for at kontrollere 2., 3. procedurer??? |
|
||||
|
Du bør også sørge for at indstille exitkode ordentligt ud fra script, så skallen script som indsamler disse kan undersøge det.
Jeg gætte noget lignende, hvis OUT_STATUS er "Success" exit 0, ellers nogle højere antal (0 betyder succes). Du er på kontrol af de første shell script (og hvis ikke, skal du oprette en wrapper script som du er i kontrol over), så bare gøre det afkast succes (nul) på de betingelser, når det andet og tredje scripts kan køre, og ikke -nul, hvis det ikke. Sidst redigeret af æra; 03-18-2008 på 08:28 AM.. Årsag: Svar til seneste spørgsmålet også |
|
||||
|
Citat:
Tak .... |
|
||||
|
Hvordan om & & operatør? Code:
procedure1 && procedure2 && procedure3 Dette betyder præcis, hvad du ønsker. Hvis en af dem mislykkes (returnerer et ikke-nul exit status), vil ingen af de efterfølgende vil blive forsøgt. ShawnMilo |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|