script ausgabe mitloggen (... | tee in scripts)

  • hi,


    gibt es eine einfache Lösung um alle Ausgaben eines scriptes in einer Datei mitzuloggen?


    Das script einfach mit "/mnt/script/abc.sh | tee /log/abc-log.txt 2>&1" ausführen wäre eine Möglichkeit. Die scheidet aber aus da je nach verwendeter Variabler unterschiedliche logfiles erzeugt werden sollen. tee funktioniert anscheinend nicht innerhalb des scriptes (oder muss man hier was spezielles beachten?) Doppelte Ausführung der Befehle ist generell auch eine Möglichkeit, macht das script aber unübersichtlicher und bei sehr langen prozessen ... (cat /dev/hdb | strings) ...auch nicht zu empfehlen.


    Von daher die Frage in die Runde gibt es einen Befehl der ab den aufrufen im script alles mitloggt? Am besten wo man auch variablen einbauen kann.


    Gruss Lexi

  • tee wird auch im script laufen. Aber irgendwie ist dein AUfruf etwas schräg oder versteh ich das nur nicht?


    Sollte das nicht eher


    "/mnt/script/abc.sh 2>&1 | tee /log/abc-log.txt"


    werden um auch alle Ausgaben überhaupt mal an tee übergeben zu können?

  • tee funktioniert ganz normal auch innerhalb von Skripten. Wenn du mehrere Programmausgaben zusammen ausgeben willst, musst du die Befehle nur zusammen gruppieren.


    Folgendes geht zum Beispiel:

    Bash
    #!/bin/bash
    LOGFILE=logfile.txt
    {
        echo foo
        echo bar
        echo baz >&2
    } 2>&1 | tee $LOGFILE


    Einziger Schönheitsfehler ist, dass das Skript so alles auf stdout ausgibt, und nichts mehr über die Fehlerausgabe.


    Gruß,


    Udo

  • Moinsen,


    ich mach das immer so :
    exec >LOGDATEI
    exec 2>&1


    Gruß Thomas

    Server: yaVDR 0.5 stable, MB=ASRock P5B-DE, CPU=E7500 1,9GHz, RAM=2GB, Grafik=GeForce 9500GT, DVB=2xDVBSky S952, 1xTT-Budget S2-3200, HDD=Transcend 8GB SSD, WDC 1TB, Samsung 1,5TB, DVD=LG GH22NS50, Remote=Harmony 300 an DVBSky
    Client1: yaVDR 0.5 stable MB=MSI 865PE Neo2-V, CPU=P4 2,8GHz, RAM=512MB, Grafik=GeForce GT610, DVB=none, HDD=ST3500630AS 450GB, DVD=LG GSA-4163B, Remote=MCEUSB


  • herzlichen dank das funktioniert bestens


    Gruss Lexi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!