The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
hvorfor shell script svikter? tahir23 Shell programmering og Skripting 4 08-25-2008 10:46
hvorfor script mislykkes gang? tahir23 UNIX for Advanced & ekspertbrukere 10 08-21-2008 07:04
hvorfor shell script mislykkes tahir23 Shell programmering og Skripting 4 08-21-2008 11:37
fil <filnavn> mislykkes kingskar UNIX for Advanced & ekspertbrukere 2 08-14-2006 10:07
Script mislykkes JStone Shell programmering og Skripting 8 08-10-2006 01:00

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-06-2009
ali560045's Avatar
ali560045 ali560045 is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 328
loggfilen når skriptet mislykkes!

jeg har et script som vil retrive litt info fra databasen. Skriptet fungerer fint, men jeg må legge ny funksjon i den når skriptet svikter eller retrive null resultat den bør reflektere i loggfilen.

under script AMR_Inactive.sh

Code:
while read i
do

connect1=`sqlplus -silent amit/qwerty@edna.world <<END
set pagesize 0 feedback off verify off heading off echo off
SELECT meter.X_UDC_ASSET_ID
 FROM
    SIEBEL.S_ASSET Meter,
    SIEBEL.S_ASSET SDP,
    SIEBEL.s_asset_rel ARSM,
        SIEBEL.S_ADDR_PER Premise,
        SIEBEL.S_ASSET Route,
        SIEBEL.s_asset_rel ARSR
 WHERE
        ARSM.par_asset_id = SDP.row_id AND
        ARSM.asset_id = Meter.row_id AND
        ARSM.relation_type_cd = 'SDP-METER' AND
        ARSM.x_rel_status = 'Active' AND
     SDP.PER_ADDR_ID = Premise.row_id AND
        ARSR.par_asset_id = Route.row_id AND
        ARSR.asset_id = SDP.row_id AND
        ARSR.relation_type_cd = 'ROUTE-SDP' AND
        ARSR.x_rel_status = 'Active' AND
                Premise.X_CLIENT_PRMSE_ID = '$i';
exit;
END`
echo "Completed for $i" 
echo "$connect1" 
done < TNS_AMRI_INACTIVE.txt

Innholdet i TNS_AMRI_INACTIVE.txt
Sitat:
0002034694
hvis anta for disse dataene scriptet returnerer null resultat jeg burde få info "Ingen rader returneres" i min logg file.im runnig skriptet med crontab

AMR_Inactive.sh> AMR_Inactive.log 2> & 1

Sist endret av ali560045; 01-06-2009 kl 02:26..
  #2 (permalink)  
Old 01-06-2009
Panos1962 Panos1962 is offline
Registrert bruker
  
 

Bli Dato: desember 2008
Beliggenhet: Thessaloniki, Hellas
Innlegg: 29
Det eneste du trenger å gjøre er å sjekke $ (connect1) verdi før den skrives ut:

Code:
if [ -n "${connect1}" ]; then
    echo "${connect1}"
else
    echo "No rows returned"
fi

i stedet for bare:


Code:
echo "${connect1}"

  #3 (permalink)  
Old 01-06-2009
ali560045's Avatar
ali560045 ali560045 is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 328
Takk. Men hva om vel etter velger uttalelse im oppdatere med at verdien og hvis oppdateringen mislykkes hvordan du får det i loggfilen.

Basically hvordan skal vises i loggfilen som gitt SQL-spørringen har virkelig arbeidet lykkes eller ikke .......

Sist endret av ali560045; 01-06-2009 kl 03:42..
  #4 (permalink)  
Old 01-06-2009
ali560045's Avatar
ali560045 ali560045 is offline
Registrert bruker
  
 

Bli Dato: Oct 2007
Innlegg: 328
Jeg har nå endret koden i stedet for å velge im nå gjør oppdateringen. jeg har bruk spole konseptet her.

Men fortsatt im ikke får noen informasjon som "0 rader oppdatert" i spole fil. Hvordan komme som info i spole fil

under koden ved hjelp av oppdateringen

Code:
#!/bin/ksh

. $HOME/conf/systemProperties/EnvSetup.properties


sqlplus -silent amit/qwerty@edna.world <<END
set pagesize 0 feedback off verify off heading off

spool Script_Fails.log 

UPDATE SIEBEL.S_ASSET_XM SDPX 
SET SDPX.ATTRIB_03   = 'Inactive', 
SDPX.LAST_UPD_BY = '1-42V', 
SDPX.LAST_UPD    = SYSDATE, 
SDPX.ATTRIB_04   = 'SQQ3' 
 WHERE SDPX.PAR_ROW_ID  IN ('090845086LG')
   AND SDPX.ATTRIB_01   = 'AMR Ready' 
   AND SDPX.ATTRIB_03   = 'Active';

commit;
exit;
END

Når du kjører denne oppdateringen uttalelse i databasen er det viser "ingen rader Update". Den samme informasjonen jeg vil i spole file.How å bli det?

Takk på forhånd

Sist endret av ali560045; 01-06-2009 kl 03:59..
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 03:14.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0