![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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? |
|
||||
|
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? |
|
||||
|
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.. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|