perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 18
Click for quality!




12.02.2012 / 00:11

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


Beitraglogdateien teilweise sperren
Seitenanfang
hi,

Ich soll mit einem daemon einige Logdateien auf einen anderen Server transferieren und muss also sicherstellen das sich die beiden Prozesse nicht in die quere kommen.

Gibt es da eine Möglichkeit die Datei nur teilweise zu sperren, also Beispielsweise nur die ersten 10 Zeilen, so das die Anwendung weiterhin ihre Logdaten ans Ende schreiben kann?

Oder genügt es die Datei einfach umzubennen und mit der neuen Datei weiterzuarbeiten? Hier bin ich mir aber nicht sicher wie die Anwendungen reagieren. Fahren die gegen die Wand,wenn Sie ihre Logdatei nicht mehr finden oder legen die automatisch eine neue an?

Datum: 31.05.2006-17:58

Beitragre: logdateien teilweise sperren
Seitenanfang
kopieren via:

cp -p datei ...

dann leeren via:

cp /dev/null datei

am besten alles auf der selben zeile:

cp -p logfile target ; cp /dev/null logfile

die anwendung öffnet den inode nicht den dateinamen. umbennen macht keinen sinn. die anwendung würde in die umbenannte/ge'move'te weiterschreiben.

lieber wie oben.

es selten ausnahmen.

wenn kopieren schnell genug ist kann man auch:

kill -STOP pid ; cp -p logfile target ; cp /dev/null logfile ; kill -START pid

pid prozess id der applic...

;)
afsin

Datum: 31.05.2006-23:37

Beitragre: logdateien teilweise sperren
Seitenanfang
[cite]
kill -STOP pid ; cp -p logfile target ; cp /dev/null logfile ; kill -START pid
[/cite]

Wie willst'n das machen? Oftmals schreibt mehr als ein Prozess in ein Logfile. Die musst Du dann alle genau kennen, damit Du sie anhalten kannst. Das kann schon mal schwierig werden.

Außerdem haben Logfiles die Angewohnheit recht groß zu werden. Ich kann mir nicht vorstellen, dass das schnell genug geht, ohne das System aus dem Tritt zu bringen. Und Joker schrieb auch, dass wohl die Anwendungen ihre Logdatei behalten sollen, da kannst sie nicht einfach weglöschen. Natürlich gibt es Anwendungen, die Anfangen zu spucken, wenn die eine Logdatei nicht mehr finden.

Das einzige was da bleibt, ist das Logfile zu kopieren und dann die Kopie zu transferieren. Du wirst damit leben müssen, dass die Einträge ab Anfertigung der Kopie nicht in der transferierten Datei enthalten sind.

Übrigens afsin:
Shell ist kein Perl, nur mal nebenbei. Der Gute schreibt einen Daemon.

-uw

Datum: 01.06.2006-08:18

-






-
-