|
|
|
|
Google-Website
|
|||||||
| Foren | Registrieren | Blog | Man-Seiten | Forum-Regeln | Links | Alben | FAQ | Benutzer | 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. |
![]() |
|
|
Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|||
|
Rotierende Protokolle in Perl Nachricht ohne Verlust
(Ich weiß, Log-Rotation ist ein gemeinsames Thema, aber ich versuchte die Suche und konnte keine Antwort finden)
Seit einiger Zeit nun, ich habe mit der Logfile:: Drehen Modul zu drehen Protokolle in einer log-Monitoring-Skript. Bisher habe ich keinerlei Probleme, und es funktioniert großartig, denn ich kann es unter Linux und Windows (vor allem mit Red Hat und XP/2003). Nun, es wurde meine Aufmerksamkeit von einem Mitarbeiter, dass es möglich ist zu verlieren, Log-Daten mit dem "Kopieren und truncate"-Methode, dass das Modul verwendet. Er erwähnt, dass traditionell in Linux, Sie "bewegen, dann senden Sie HUP-Signal zu verarbeiten". Es scheint so, dass ist die bevorzugte Methode (von dem, was ich sehe, durch Online-Suche), aber das würde es schwierig für das Skript in den Hafen über mehrere Betriebssysteme wie es jetzt. Ich denke, meine Frage ist - was sind Ihre Gedanken dazu? Ich denke, ich dachte, dieses Modul funktionierte perfekt, aber das ist der Punkt, er bringt: Code:
## copy current to next incremental
$next = "${currn}.1";
copy ($curr, $next);
## preserve permissions and status
if ( $self->{'Persist'} eq 'yes' ){
my @stat = stat $curr;
chmod( $stat[2], $next ) or carp "error: chmod failed: ($next)";
utime( $stat[8], $stat[9], $next ) or carp "error: failed: ($next)";
chown( $stat[4], $stat[5], $next ) or carp "error: chown failed: ($next)";
}
# now truncate the file
if( $self->{'Flock'} eq 'yes' )
{
truncate $curr,0 or croak "error: could not truncate $curr: $!"; }
else{
local(*IN);
open(IN, "+>$self->{'File'}")
or croak "error: could not truncate $curr: $!";
}
Das Modul hat eine "Herde" auf die Datei, die ist ein Beratungs-Sperre auf Linux. Wenn die Anwendung, die sich schriftlich an die aktuelle Log-Datei nicht Herde, so die Herde auf die Rotation-Modul ist ein nicht-op. Er erwähnte, dass, wenn die Rotation-Modul eingeschaltet ist Aufgabe der OS zwischen der "Kopie" in der dritten Zeile und "stumpf" oder "offene" Leitungen, Logmeldungen werden verloren gehen. Ich bin nicht sehr vertraut mit der Art, wie Linux funktioniert, und was finde ich online sind meist Beispiele (Code) der Log-Rotation, und nicht tatsächliche Erklärungen. Jeder Einblick in dieses Thema wird sehr geschätzt. Vielen Dank im Voraus! Edit: habe einige Tests, und konnte bestätigen, (sehr kleine) Log-Verlust mit Linux schwatzhaft auditd. Jetzt habe ich es so auditd dreht seine eigenen Log-Dateien, und mein Skript nur überwacht werden. Ich nehme, um mit der Log-Datei-Rotation-Modelle für alle anderen Dateien, die ich bin Überwachung. Ugh. : - \ Zuletzt bearbeitet von w1r3d; am 07-24-2009 08:56 AM.. |
| Sponsored Links | ||
|
|
|
||||
|
Das perl Modul scheint zu schlecht geschrieben. Und die meisten Betriebssysteme verfügen bereits über eine Log-Rotation Technik. Linux kommt mit einem Befehl logrotate. Link: logrotate - Linux Command - Unix Command Ich frage mich, warum Sie nicht nur, dass die Verwendung. In der XP-Welt scheint es, dass die typische Lösung ist es, dass Software, die hält Protokolle drehen ihre eigenen Protokolle. IIS nimmt diesen Ansatz. Es ist nicht so flexibel wie logrotate, aber ich möchte, dass die Untersuchung vor der Durchführung einer neuen Lösung.
|
| Sponsored Links | ||
|
|
![]() |
| Lesezeichen |
| Tags |
| Logfile-Rotation, perl |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Concatenate Logs - Perl Frage | ganga.dharan | Shell Programmierung und Scripting | 4 | 05-13-2009 09:41 AM |
| Perl Scripting für die Überwachung der Protokolle | solitare123 | UNIX for Dummies Questions & Answers | 1 | 06-25-2008 07:49 AM |
| Perl-Skript zu drehen Protokolle | theninja | Shell Programmierung und Scripting | 18 | 03-21-2008 03:06 PM |
| ppp errror Nachricht in Protokolle | frankkahle | UNIX für Fortgeschrittene und Experten | 1 | 05-02-2007 09:38 AM |
| Error Message-Protokolle | ByasB | UNIX for Dummies Questions & Answers | 1 | 04-07-2005 02:40 PM |