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



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

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 07-24-2009
Registrierte Nutzer
 

Join Date: Jul 2009
Ort: Dallas, TX
Beiträge: 3
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
  #2 (permalink)  
Old 07-25-2009
Perderabo's Avatar
Unix-Daemon
 

Join Date: Aug 2001
Location: Ashburn, Virginia
Posts: 9148
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
Closed Thread

Lesezeichen

Tags
Logfile-Rotation, perl

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 Aus


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



Alle Zeiten sind GMT -4. Es ist jetzt 12:37 PM.


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 Inhalt-Copyright © 1993-2010. Alle Rechte Reserved.Ad Management by RedTyger

Content Relevant URLs durch vBSEO 3.2.0