The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 03-18-2008
hanu_oracle hanu_oracle is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: Mumbai, Indien
Stillinger: 41
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
  #2 (permalink)  
Old 03-18-2008
epoke
Guest
  
 

Posts: n / a
Bits: 0 [Banker]
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
  #3 (permalink)  
Old 03-18-2008
hanu_oracle hanu_oracle is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: Mumbai, Indien
Stillinger: 41
Citat:
Oprindeligt Indsendt af epoke View Post
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
Tak ....
  #4 (permalink)  
Old 03-18-2008
hanu_oracle hanu_oracle is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: Mumbai, Indien
Stillinger: 41
Citat:
Oprindeligt Indsendt af hanu_oracle View Post
Tak ....
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???
  #5 (permalink)  
Old 03-18-2008
epoke
Guest
  
 

Posts: n / a
Bits: 0 [Banker]
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å
  #6 (permalink)  
Old 03-18-2008
hanu_oracle hanu_oracle is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: Mumbai, Indien
Stillinger: 41
Citat:
Oprindeligt Indsendt af epoke View Post
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.
OK,

Tak ....
  #7 (permalink)  
Old 03-18-2008
ShawnMilo ShawnMilo is offline
Registreret Bruger
  
 

Join Date: Jun 2006
Stillinger: 252
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
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 03:15 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0