The UNIX and Linux Forums  

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
tail-f wannalearn Shell Programmierung und Scripting 4 04-10-2007 06:22 PM
Schwanz? qfwfq Shell Programmierung und Scripting 7 06-19-2006 02:15 AM
wie sed mit Schwanz redlotus72 UNIX for Dummies Questions & Answers 1 08-30-2005 06:27 AM
mit tail-f cdunavent Shell Programmierung und Scripting 6 10-23-2002 06:10 PM
Tail User bbutler3295 UNIX for Dummies Questions & Answers 7 03-21-2002 06:47 PM

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 05-18-2006
JISC jisc is offline
Registrierte Nutzer
  
 

Join Date: März 2006
Beiträge: 6
Hilfe zur Scripting mit Schwanz

Hi, nur müssen hier helfen, habe ich diesen Befehl aus, die ich benötige, um alle durch den Tag, dies wird im Grunde nur eine Logdatei überwachen und drucken Sie eine Zeile, wenn Theres einen Fehler.

tail-f L * | grep "-Prozess ist tot"

Dies wird eine Zeile echo "*** ist DEAD: RW [Signal w / Core Dump: 10] ***" protokolliert, wenn ein Programm ein toter Prozess Fehler.

was ich brauche, ist, um einen Befehl, der ausgeführt wird jedes Mal, wenn eine Zeile grep. kann hier jemand helfen, mich aus.

Vielleicht ist das etwas, das so aussieht, aber Ich weiß nicht, die Syntax.

tail-f L * | grep "-Prozess ist tot"-exec mailx "Blah Blah" () \;

Kann jemand mir helfen?
  #2 (permalink)  
Old 05-18-2006
ranj @ CHN ranj@chn is offline Forum Advisor  
Das Spiel mit Ubuntu Now!
  
 

Join Date: Oct 2005
Ort: Chennai
Beiträge: 365
etwas Ähnliches

Sie haben etwas Ähnliches hier
  #3 (permalink)  
Old 05-19-2006
JISC jisc is offline
Registrierte Nutzer
  
 

Join Date: März 2006
Beiträge: 6
Vielen Dank für den Link ranj


Code:
#! /bin/ksh
curr_date = `date "+%m.%d"`
file=/datamart/logs/LOG.`date "+%m.%d"`

tail -f $file |&
while read -p err_line; 
do [[ $err_line = "*** PROCESS IS DEAD: RW [Signal w/ Core dump: 10] ***" ]] && {
  echo "mailx scripts goes here"
 }
done

Ich weiß zu wenig von Scripting, so möchte ich fragen, ob euch kann mir helfen, diese Debug-Code. der Code oben funktioniert, weil das ganze ist, aber ich will nur einen Mustervergleich nicht eine absolute Übereinstimmung der Linie, so möchte ich ihn auf "* ist * DEAD", sondern seine nicht funktioniert. Können Sie mir helfen, auf das? Wie funktioniert Mustererkennung arbeiten Scripting?

und eine weitere wichtige Sache, ich möchte hinzufügen, wie Sie sehen können, meine Log-Datei ist, wo LOG.MM.DD MM ist der Monat und TT der Tag ist. Wie kann ich einen Code in das Skript, um den Schwanz Kommando stoppen und wieder auf 12:05 Uhr (bei Log-Datei-Namen ändern wird). im Grunde war ich Denken zu verändern, während die teilweise auf while read-p err_line & & curr_date \u003d `date" +% m% d "` und dann den gesamten Code in einer Schleife.

So war ich thinkng ändern das Skript aus, dass über dieses:


Code:
#! /bin/ksh
do
curr_date = `date "+%m.%d"`
file=/datamart/logs/LOG.`date "+%m.%d"`
tail -f $file |&
while read -p err_line && curr_date = `date "+%m.%d"`; 
do [[ $err_line = "*PROCESS IS DEAD*" ]] && {
  echo "mailx scripts goes here"
 }
done
done

aber nicht funktioniert, kann euch helfen, mir das korrigieren?
  #4 (permalink)  
Old 05-19-2006
ranj @ CHN ranj@chn is offline Forum Advisor  
Das Spiel mit Ubuntu Now!
  
 

Join Date: Oct 2005
Ort: Chennai
Beiträge: 365
Versuchen Sie davon! Nicht sicher, ob es effizient ist.

while read-p err_line
tun
echo $ err_line | grep "Muster" & & echo "mailx Skripten geht hier"
getan


Für die Änderung der Zeitstempel in die Log-Datei, können Sie überprüfen, ob die Zeit in dieser Schleife und es nach der Abfahrt 00:00 und starten Sie dann die Schleife erneut. Siehe, wenn dies für Sie arbeitet.
Kann man die PID des Hintergrund-Job und zu töten, bevor Sie neu das Logfile Namen, aber stellen Sie sicher, dass viele der Fehlerprüfung in das Skript. Ich habe es unter davon.
während die wahre # die wichtigsten Schleife
tun
tail-f $ logfile | &
while read line-p
tun
job_id \u003d $! # Sie die Hintergrund-Job-ID

echo $ line | grep "Muster" & & echo "mailx Skripte finden Sie hier"

if [[ `date +% H`-lt 1-a `date +% M`-gt 5]]; then # Check für Ihre Zeit
break; # Pause aus Schleife
fi
getan

kill $ job_id # kill die id

Schlaf 5 # warten, bis irgendwann die töten, um ihre Maßnahmen.

LogFile \u003d "$ LOG/May_19.log" # Umwidmung logfile
getan

Zuletzt bearbeitet von ranj @ chn; am 05-19-2006 03:08 AM..
  #5 (permalink)  
Old 05-19-2006
JISC jisc is offline
Registrierte Nutzer
  
 

Join Date: März 2006
Beiträge: 6
Dank ranj, Ihr Skript funktioniert, ich danken Ihnen für Ihre Unterstützung
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 02:22 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0