The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Operativsystem > AIX
.
google unix.com



AIX AIX IBM branschledande UNIX operativsystem som uppfyller de krav på applikationer som företagen lita på i dagens marknad.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Om uttalande - Hur man skriver en null uttalande april Shell-programmering och Skript 3 04-16-2008 01:14
Behovet av att utföra samma uppgift Legend986 Shell-programmering och Skript 8 10-01-2007 04:59
Hur ska jag köra i IF ELSE Statement laknar Shell-programmering och Skript 1 06-08-2007 02:54
Script inte verkställa Sätt Statement Amruta Pitkar Shell-programmering och Skript 4 08-24-2006 11:14
Hur kan jag få ett uttalande om att verkställa baseras på antalet rader i en fil? LordJezo Shell-programmering och Skript 6 05-14-2004 10:50

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 10-07-2008
Prashantckc Prashantckc is offline
Registered User
  
 

Join Date: Aug 2008
Inlägg: 18
Styra ett uttalande att verkställa

Hej Alla
Jag har ett script som går en bit av jobb. Arbetstillfällena i sekvens och om det misslyckas på ett visst jobb jag ville ha det startas från den punkt där det misslyckades.

Vad jag gjorde jag beredd två filegenskaper en som innehåller hela listan på de arbetstillfällen som kommer att utföras och den andra där jag behålla de arbetstillfällen som är framgångsrikt genomförts.

Innan genomförandet av dessa jobb jag kontrollera om de redan verkställts och i så fall då jag hoppar över steg.

Egendomen filen med posten som
EODJOB \u003d 6000
EODJOB \u003d 6.001
EODJOB \u003d 6.002
.......

Skriptet är följande
#############################################

Kod:
#! /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 är att jag clering den fil som innehåller den färdiga jobb inträde i det sista.
Och säga om ett jobb misslyckas det går och ta bort filen.

Vad jag behöver är att detta endast om hela filen är framgångsrikt genomförs då bara jag måste rensa filen och om skript misslyckas i mellan det bör hoppa över detta steg.

Kindly föreslå något sätt

Senast redigerad av Bakunin, 10-07-2008 at 07:38.. Motivering: Använd code-taggar när du postar skript.
  #2 (permalänk)  
Old 10-08-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Tyskland
Inlägg: 2272
Obs: Detta är inte AIX specifik, borde ha lagts in the Shell Scripting subboard, minns detta nästa gång please

Citat:
Problemet är att jag clering den fil som innehåller den färdiga jobb inträde i det sista.
Och säga om ett jobb misslyckas det går och ta bort filen.

Vad jag behöver är att detta endast om hela filen är framgångsrikt genomförs då bara jag måste rensa filen och om skript misslyckas i mellan det bör hoppa över detta steg.
Jag är inte säker på hur du kontrollerar om ditt jobb var ok eller inte - jag antar att du kommer att analysera din error.txt ... ?
Så bara reagera på detta och inte bara radera filen till slut, vädret var lyckat eller inte, eftersom du gör det atm.
Osäker på om din runEod.sh producerar ett utträde kod du kan använda för att bestämma vad jag ska göra härnäst.
Eftersom du har detta script och troligen skrev det själv, antar jag att du enkelt kan anpassa till ditt arbete?
  #3 (permalänk)  
Old 10-08-2008
Prashantckc Prashantckc is offline
Registered User
  
 

Join Date: Aug 2008
Inlägg: 18
Hjärtligt tack för dina insatser.
Anledningen till att jag postat här i AIX var eftersom servern är IBM AIX och därmed jag postat här. Tar hand om den punkt du nämnde, eftersom det gör det enklare att hantera saker om de placeras på rätt väg.

Men jag tror att det finns ett sätt skalskript då säga om ett skript misslyckas vid en viss punkt då i så fall stannar utförande där själv och inte gå vidare. Hur man uppnår det?

Senast redigerad av Prashantckc; 10-08-2008 at 06:41..
  #4 (permalänk)  
Old 10-08-2008
zaxxon's Avatar
zaxxon zaxxon is offline Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Tyskland
Inlägg: 2272
Ok, inga problem

Inte vad jag vet ...
Felhantering görs vanligen via Exit / returkoder och kontrollera dem med om / fi och dessutom med paus / fortsätta att styra genom logiken i manus, om det behövs.

Om till exempel kommandon i skriptet körs, kontrollerar värdet på $? och om det inte är noll, vanligtvis något har gått fel.
  #5 (permalänk)  
Old 10-08-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
Modérateur
  
 

Join Date: Dec 2007
Ort: Home av 17-Temne världen mästare Boston Celtics
Inlägg: 1311
Wink En möjlig metod för att lösa

Även i denna del av koden:
Kod:
if [ $# -eq 0 ]   #ok execution
kan du lägga till:
Kod:
ok_exec="Y"
Därefter, i slutet, gör följande:
Kod:
if [ $ok_exec = "Y" ]
   then
   echo erasing the completed job list
   echo "">$completedpropfile
fi
  #6 (permalänk)  
Old 10-08-2008
Bakunin bakunin is offline Forum Staff  
Bughunter extraordinär
  
 

Join Date: maj 2005
Ort: I det vänstra byte av / dev / kmem
Inlägg: 1.628
Citat:
Ursprungligen postat av Prashantckc View Post
Men jag tror att det finns ett sätt skalskript då säga om ett skript misslyckas vid en viss punkt då i så fall stannar utförande där själv och inte gå vidare. Hur man uppnår det?
Troligen kanske du vill läsa ksh dokumentation om "fällor". Det förefaller mig som om detta gör precis vad du vill.

Jag hoppas att detta hjälper.

Bakunin
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod Av
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 08:08.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0