The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Om sedan Else Logic jadionne UNIX for Dummies Frågor & Svar 7 11-23-2007 04:27
kan inte få det logiska dineshr85 Shell-programmering och Skript 3 10-11-2007 08:34
Skriptet fungerar inte, men kommandon i arbete cheongww UNIX for Dummies Frågor & Svar 2 11-14-2006 10:52
Automatiserad FTP till rörlig katalog med fel kontroll songtam UNIX for Dummies Frågor & Svar 3 04-10-2006 10:57
Status kontrollera automatiserade FTP anijog Shell-programmering och Skript 5 03-04-2004 02:30

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 09-01-2008
senthilkumar_ak senthilkumar_ak is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Chennai
Inlägg: 43
Behöver logik för kontroll automatiskt jobb arbeta i awk eller SED.

Jag har ett Java-program som automatiskt utlöser några reguljära jobb att uppdatera Db eller något annat arbete. Jag spårar jobben med loggmeddelanden och ta reda på det är väl skött eller inte. Jag vill skriva ett skript för att fånga den på rätt sätt i tid.

Säg jobb 1 körs på 15, 30 och 45 varje timme så lämnar en post i loggfilen att "jobb 1 startas". Så här.

Exempel för timme 11:00 medel --

Arbetare # Scheduler_Worker-3: 23:15:56 105 SendToCM: run () Inresa

där "SendToCM: run () Entry" börjar log budskap som Java-programmet skriva i loggen meddelandet "23:15:56"Är det dags. Jag måste kolla den sista timmen 15, 30, 45 min loggfiler för att ta reda på posten är de eller inte då jag intima via mail till mig.

Jag har en logik, men inte testat ännu. För 15 min jag kontrollera med sed så här,

sed -n '/: $ h: 15:00 /, /: $ h: 15:01 / p "schedulerTrace. logga> Job1.log

Här $ h innehåller aktuella timme och i job1.log jag kontrollera igen liksom

count \u003d grep-c "SendToCM: run () Entry" Job1.log.

Om räkningen är noll då det jobb 1 är inte sprang och jag måste kontrollera undantag.
Men detta resonemang är mycket sned för mig. Kan du mig snälla hjälp mig ta reda på ett korrekt logik för detta.

Hälsningar,
Senthilkumar.
  #2 (permalänk)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Varför inte strunta i sekunder komponent helt och bara göra något liknande:


Kod:
if grep -q ": $h:15.*SendToCM: run()" schedulerTrace.log
then
      echo job did run
else
      echo job did not run
fi


Senast redigerad av Annihilannic; 09-01-2008 vid 03:46.. Orsak: glömde SendToCm del
  #3 (permalänk)  
Old 09-01-2008
senthilkumar_ak senthilkumar_ak is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Chennai
Inlägg: 43
Fantastic Annihilannic,

tack för ditt förslag. En sak till.

Är det möjligt för mig att se alla 15, 30,45 entires i en grep eller jag vill använda en separte en.

SENTHIL
  #4 (permalänk)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Så ... du vill bara du kolla en gång i timmen och se om det har gått tre gånger?


Kod:
if [[ "$(grep -Eqc ": $h:(15|30|45):.*SendToCM: run\(\)" schedulerTrace.log)" -eq 3 ]]
then
      echo job did run 3 times in the hour
else
      echo job did not run 3 times in the hour
fi

Jag antar att det finns bara en dag är värt arbetstillfällen i loggen, annars naturligtvis du matchar den föregående dagens jobb också.
  #5 (permalänk)  
Old 09-04-2008
senthilkumar_ak senthilkumar_ak is offline
Registered User
  
 

Join Date: Aug 2008
Plats: Chennai
Inlägg: 43
Ja du har rätt, loggfilerna innehåller endast en dag loggar. Men med detta villkor Jag brukar vara kontrollera jobbet när de inte sprang, så jag ändrade lite och användas så här, snälla låt mig få veta om det görs några sak fel.

# Loop kontrollera jobb 1 <Send vill CM startat ordentligt eller not>
om [$ min-GE 1-o $ min-lt 30]; sedan
count \u003d "grep-ic": $ hr: 01 .* SendToCM: Start: "$ loggsökväg"
Elif [$ min-GE 30-o $ min-le 59]; sedan
count \u003d "grep-ic": $ hr: 30 .* SendToCM: Start: "$ loggsökväg"
fi
Om [$ count-eq 0]; sedan
echo-e "\ nDet jobb 1 Skicka till CM inte startas eftersom schdueld på 1 och 30">> mail.log
fi

Jag kommer att posta mail.log äntligen efter kontroll för andra jobb också
  #6 (permalänk)  
Old 09-04-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: maj 2008
Plats: Sydney, Australien
Inlägg: 1009
Jag ser inget uppenbart fel där.
Closed Thread

Komihåglista

Taggar
awk, grep eller, sed

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
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 03:26.


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