![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Als Dan Else Logic | jadionne | UNIX voor Dummies Questions & Answers | 7 | 11-23-2007 04:27 |
| kan niet de logica | dineshr85 | Programmeren en Shell Scripting | 3 | 10-11-2007 08:34 |
| Script werkt niet, maar commando's binnen het werk | cheongww | UNIX voor Dummies Questions & Answers | 2 | 11-14-2006 10:52 PM |
| Automatische FTP naar variabele directory met fouten controleren | songtam | UNIX voor Dummies Questions & Answers | 3 | 04-10-2006 10:57 |
| Status controleren van geautomatiseerde FTP | anijog | Programmeren en Shell Scripting | 5 | 03-04-2004 02:30 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Noodzaak logica voor check geautomatiseerde Job werk in awk of sed.
Ik heb een Java-programma dat zal automatisch leiden tot een aantal geplande baan te actualiseren Db of een ander werk. Ik ben het bijhouden van de banen met logberichten en vinden het goed wordt uitgevoerd of niet. Ik wil een script schrijven om het goed op tijd.
Zeg taak1 draait op 15, 30 en 45 per uur, dan verlaat een vermelding in het logboekbestand dat "taak1 is begonnen". Als dit. Voorbeeld voor uur 11:00 pm betekent -- Werknemer # Scheduler_Worker-3: 23:15:56 105 SendToCM: Run () Entry waar "SendToCM: Run () Indeling onder" log bericht dat Java-programma schrijven in het logboek bericht '23:15:56'Is de tijd. Ik moet controleren of het laatste uur 15, 30, 45 min. logbestanden om de binnenkomst is hun dan niet dan moet ik intieme via mail naar mij. Ik heb een logica, maar nog niet getest. Voor 15 min. Ik ben de controle met sed als dit, sed -n "/: $ h: 15:00 /, /: $ h: 15:01 / p" schedulerTrace. aanmelden> Job1.log hier $ h bevat het huidige uur en in de job1.log Ik ben de controle opnieuw als count \u003d grep-c "SendToCM: Run () Entry" Job1.log. zo tellen nul is dan is de Taak1 is niet liep, en ik moet controleren uitzondering. Maar deze logica is erg schuin voor me. Kunt u mij alstublieft help me op het vinden van een juiste logica voor. Groeten, Senthilkumar. |
|
||||
|
Waarom niet negeren seconde component volledig en alleen iets doen als:
Code:
if grep -q ": $h:15.*SendToCM: run()" schedulerTrace.log
then
echo job did run
else
echo job did not run
fi
Laatst gewijzigd door Annihilannic; op 09.01.2008 03:46.. Reden: vergat de SendToCm deel |
|
||||
|
Dus ... u wilt alleen uw check een keer per uur en te zien of er lopen drie keer?
Code:
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
|
|
||||
|
Nou ja je hebt gelijk, de log-bestanden bevat slechts een dag logs. Maar met deze voorwaarde i wont worden de baan toen niet liep, dus ik bewerkt weinig gebruikt en als dit, laat het me weten als verricht ding verkeerd.
# Loop om de Taak1 <Send Als CM gestart of not> if [$ min-ge 1-o $ min-lt 30]; vervolgens count \u003d `grep-ic ': $ uur: 01 .* SendToCM: Begin:" $ logpath " elif [$ min-ge 30-o $ min-le 59], vandaar count \u003d `grep-ic ': $ uur: 30 .* SendToCM: Begin:" $ logpath " fi if [$ count-eq 0]; vervolgens echo-e "\ nHet Taak1 Send To CM is niet begonnen als schdueld op 1 en 30">> mail.log fi Ik mail de mail.log eindelijk na controle voor andere banen te |
![]() |
| Bladwijzers |
| Labels |
| awk, grep of, sed |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|