Logfiles & Terminals

Dieses Thema im Forum "Linux-Distributionen" wurde erstellt von it-praktikant, 23. Mai 2004.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    Hallo,

    ich experementiere gerade mit dem Kernel und da das Compilieren auf meiner Maschine etwa 2 Stunden braucht, schmeiße ich den Prozess abends an und lasse den Rechner dann irgendwann automatisch runterfahren. Die Kommandozeile sieht dann so aus:
    "make bzImage modules && shutdown -h hh:mm"

    Nun landen ja alle Warnungen und Fehlermeldungen, die auftreten auf der Konsole und wenn das Sytsem dann heruntergefahren ist, sehe ich die am nächsten Morgen nicht mehr. Also wollte ich einfach alles in eine Datei schreiben, trotzdem ander noch eine Ausgabe in der Konsole haben, falls ich doch mal raufschaue. Die Zeile sah dann so aus:
    "make bzImage modules &2>logfile && shutdown -h hh:mm"

    Hat aber nicht funktioniert. Das Logfile war leer. Also habe ich das so probiert:
    "make bzImage modules &2>1 &1>logfile && shutdown -h hh:mm"

    Nun wurden mir aber zwei leere Dateien namens "1" und "logfile" erstellt.

    Wie bekomme ich es also hin, dass ich eine Kopie aller Ausgaben der Terminals in eine Datei bringen kann?


    Ciao it.
     
  2. cirad

    cirad Kbyte

    Registriert seit:
    24. Februar 2001
    Beiträge:
    509
    Das funktioniert gleich in mehrfacher Hinsicht nicht. :) Erstens muß es 1>logfile heißen, da &logfile einen Filedescriptor meinen würde. Und zweitens wandert hier StdErr nicht in das Logfile, sondern auf das Terminal. Ich nehme an, das ist nicht gewollt. Die Reihenfolge spielt hier eine wichtige Rolle:
    1>logfile 2>&1 wäre dann korrekt.
     
  3. bitumen

    bitumen Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.952
    da wird jede ausgabe ins logfile gesteckt, die konsole bleibt wieder sauber...
     
  4. cirad

    cirad Kbyte

    Registriert seit:
    24. Februar 2001
    Beiträge:
    509
    script logfile

    Danach wird eine extra Shell gestartet und alle Ausgaben auf dieser Shell ins Logfile und auf den Monitor geschrieben. Nach Beenden von script bist du wieder in deiner alten Shell. Mehr Infos unter man script.
     
  5. it-praktikant

    it-praktikant Megabyte

    Registriert seit:
    5. August 2002
    Beiträge:
    1.176
    also wenn ich das jetzt richtig interpretiere, dann müsste ich deine Zeile nur so manipulieren und ich würde es auf der Konsole wieder sehen:
    make bzImage modules 2>&1 1>&logfile && shutdown -h hh:mm

    Es sei denn, das "&"+"id" bedeutet, dass man auf einen bestimmten filedescriptor arbeitet.

    Ciao it.
     
  6. bitumen

    bitumen Megabyte

    Registriert seit:
    4. Juni 2002
    Beiträge:
    1.952
    Du hast die "&"-Zeichen vertauscht ;)

    make bzImage modules 2>&1 1>./log && shutdown -h now

    Damit wird stderr in stdout umgeleitet, und stdout in ./log .
    Dabei wird auf den Schirm nichts ausgegeben, das macht jedoch nichts, da du auf einem anderen terminal einfach mit cat ./log die aktuellen meldungen auslesen kannst.

    MfG, bitumen
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen