The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Operativsystemer > AIX
.
google unix.com



AIX AIX er IBM's brancheførende UNIX-operativsystem, der opfylder kravene til ansøgningerne, at virksomhederne er afhængige af i dagens markedsplads.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Hvis redegørelse - Hvordan man skriver en null erklæring april Shell Programmering og Scripting 3 04-16-2008 02:14 PM
Behøver for at udføre den samme erklæring Legend986 Shell Programmering og Scripting 8 10-01-2007 05:59 PM
Hvordan kan jeg udføre i IF ALSE Statement laknar Shell Programmering og Scripting 1 06-08-2007 03:54 AM
Script ikke fuldbyrde Indsæt Statement Amruta Pitkar Shell Programmering og Scripting 4 08-25-2006 12:14 AM
Hvordan kan jeg få en hvis erklæring at fuldbyrde baseret på antallet af linjer i en fil? LordJezo Shell Programmering og Scripting 6 05-14-2004 11:50 AM

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 10-07-2008
Prashantckc Prashantckc is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 18
Kontrol af en erklæring om at fuldbyrde

Hej Alle
Jeg har et script, der kører et stykke JOB. De job er i rækkefølge, og hvis det ikke på et bestemt job, jeg ønskede, at det er startet fra det punkt, hvor det mislykkedes.

Hvad jeg gjorde, jeg udarbejdet to egenskaber, en fil, der indeholder hele listen af de job, der skal udføres, og den anden, hvor jeg bevare de arbejdspladser, der er med succes gennemført.

Før den udfører disse job jeg kontrollere, om sin allerede gennemført, og hvis ja så er jeg Spring trin.

Ejendommen filen er der adgang gerne
EODJOB \u003d 6000
EODJOB \u003d 6.001
EODJOB \u003d 6.002
.......

Scriptet er som følger
#############################################


Code:
#! /usr/bin/ksh
# A test to automate the whole EOD

echo "Starting FX Front Office EOD..."

brn_num=$1
set -e on
echo "Running FX Front Office EOD for Branch Number: $brn_num "
echo "Running FX Front Office EOD for Branch Number: $brn_num" > error.txt 2>&1

rootdir=$PWD
fullpropfile=$rootdir/FULL_FX_EOD_JOB.properties
completedpropfile=$rootdir/COMPLETED_FX_EOD_JOB.properties

if [  `grep -c "^EODJOB=" $fullpropfile` -gt 0 ]
    then
    echo "Running the EOD Process"
    for i in `grep "^EODJOB=" $fullpropfile | cut -f2 -d"="`
    do
        
        if [  `grep -c "^EODJOB="$i $completedpropfile` -gt 0 ]
            then 
            echo $i Job is already executed for branch =$brn_num and hence skipping the job..........
        else
            echo executing the job $i for branch=$brn_num
            . ./runEod.sh $i $brn_num>> error.txt 2>&1
                if [ $# -eq 0 ]   #ok execution
                    then
                    echo $i Process completed for Branch No:=$brn_num
                    echo writing into job into completed list 
                    echo 'EODJOB='$i>>COMPLETED_FX_EOD_JOB.properties
                fi
        fi

    done
echo "FX Front Office EOD for Branch Number: $brn_num run successfully"
fi
echo erasing the completed job list
echo "">$completedpropfile
###############################################

Problemet er, at jeg clering den fil, der indeholder den udfyldte jobbet ind på det sidste.
Og sige, hvis et job ikke det går, og klart filen.

Hvad jeg behøver, er, at kun hvis hele fil er blevet henrettet da kun jeg skal klare den fil, og hvis de scripts mislykkes i mellem det skulle springe dette trin over.

Kindly tyder på nogen måde

Senest redigeret af Bakunin; 10-07-2008 kl 08:38 PM.. Årsag: Brug kode-tags, når udstationering scripts.
  #2 (permalink)  
Old 10-08-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Stillinger: 2311
Bemærk: Dette er ikke AIX specifikke, burde have været udstationeret i Shell Scripting subboard; minde om dette næste gang du

Citat:
Problemet er, at jeg clering den fil, der indeholder den udfyldte jobbet ind på det sidste.
Og sige, hvis et job ikke det går, og klart filen.

Hvad jeg behøver, er, at kun hvis hele fil er blevet henrettet da kun jeg skal klare den fil, og hvis de scripts mislykkes i mellem det skulle springe dette trin over.
Jeg er ikke sikker på, hvordan du tjekke om dit job var ok eller ej - jeg tror du bliver nødt til at analysere din error.txt ... ?
Så bare at reagere på dette og ikke bare slette din fil i sidste ende, vejret var det en succes eller ej, som du gør det atm.
Ikke sikker på, hvis din runEod.sh producerer en exit-kode, du kan bruge til at beslutte, hvad der videre skal ske.
Da du har dette script og sandsynligvis skrev det selv, tror jeg du nemt kan tilpasse sig til din indsats?
  #3 (permalink)  
Old 10-08-2008
Prashantckc Prashantckc is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 18
Mange tak for dit input.
Grunden til at jeg udstationeret her i AIX var fordi serveren er IBM AIX og dermed jeg udstationeret her. Vil tage sig af det punkt, du nævnte, da det gør det lettere at styre tingene, hvis de placeres på rette vej.

Men jeg tror der er en vej i shell script, som siger, hvis et script mislykkes på et bestemt punkt da det i så fald stopper udførelse der i sig selv og ikke gå videre. Hvordan man kan opnå det?

Senest redigeret af Prashantckc; 10-08-2008 kl 07:41 AM..
  #4 (permalink)  
Old 10-08-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Stillinger: 2311
Ok, ikke noget problem

Ikke at jeg kender til ...
Fejlhåndtering gøres ofte via Afslut / Retur Koder og kontrollere dem med, hvis / fi og desuden bruge pause / fortsætte med at styre gennem logikken i scriptet, hvis det er nødvendigt.

For eksempel hvis kommandoer i dit script udføres, kontrollere værdien af $? og hvis det ikke er nul, normalt noget er gået galt.
  #5 (permalink)  
Old 10-08-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Join Date: Dec 2007
Location: Home af 17-tiden verdensmester Boston Celtics
Stillinger: 1311
Wink En mulig tilgang til at løse

Mens der i denne sektion af kode:

Code:
if [ $# -eq 0 ]   #ok execution

kan du tilføje:

Code:
ok_exec="Y"

derefter, i slutningen, skal du gøre følgende:

Code:
if [ $ok_exec = "Y" ]
   then
   echo erasing the completed job list
   echo "">$completedpropfile
fi

  #6 (permalink)  
Old 10-08-2008
bakunin bakunin is offline Forum Staff  
Bughunter ekstraordinære
  
 

Join Date: May 2005
Beliggenhed: I den venstre byte i / dev / kmem
Stillinger: 1635
Citat:
Oprindeligt Indsendt af Prashantckc View Post
Men jeg tror der er en vej i shell script, som siger, hvis et script mislykkes på et bestemt punkt da det i så fald stopper udførelse der i sig selv og ikke gå videre. Hvordan man kan opnå det?
Sandsynligvis vil du måske læse ksh dokumentation om "fælder". Det forekommer mig, at dette gør præcis, hvad du ønsker.

Jeg håber, at dette hjælper.

bakunin
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 Slukket
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 11:25 PM.


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