bash-skript ausgabe
bash-skript ausgabe
juten morgen...
...mal ne kurze frage:
ist es möglich innerhalb eines bashSkriptes auf
die ausgabe des selbigen zuzugreifen? konkret möchte ich alle ausgaben innerhalb meines backupskriptes in eine bestimmte datei schreiben. der ort haengt allerdings von übergabeparametern des skripts ab. ich könnte zwar ein zweites mini skript drumwickeln, allerdings finde ich das doof.
irgend welche ideen?
danke und gute nacht!
sascha
...mal ne kurze frage:
ist es möglich innerhalb eines bashSkriptes auf
die ausgabe des selbigen zuzugreifen? konkret möchte ich alle ausgaben innerhalb meines backupskriptes in eine bestimmte datei schreiben. der ort haengt allerdings von übergabeparametern des skripts ab. ich könnte zwar ein zweites mini skript drumwickeln, allerdings finde ich das doof.
irgend welche ideen?
danke und gute nacht!
sascha
Re: bash-skript ausgabe
Hi Sascha,
Wenn ich das ganze falsch verstanden habe, sieh die mal den Befehl "tee" an, damit kannst du einen Ausgabestrom aufteilen. Vielleicht koenntest du das dann verwenden.
sorry vielleicht liegt's am mir, aber ich finde deine Beschreibung nicht wirklich konkret. Wenn der Ort, an dem deine Ausgabedatei liegen soll von einem Eingabeparameter abhaengt, koenntest du das mit einem simplen if statement abfangen:nonsenz hat geschrieben:konkret möchte ich alle ausgaben innerhalb meines backupskriptes in eine bestimmte datei schreiben. der ort haengt allerdings von übergabeparametern des skripts ab.
Code: Alles auswählen
if [ "Uebergabeparameter" -eq 1 ]
then
outputfile=/path1/file1
else
outputfile=/path2/file2
fi
echo "Nutze Ausgabedatei $outputfile"
echo "Beginne mit dem Script" >>$outputfile
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
Re: bash-skript ausgabe
Also bei 1000 echo-Befehlen wird das bald schrecklich, wenn man hinterj eden >>$outputfile setzen muss, daher empfehle ich:roli hat geschrieben:Hi Sascha,sorry vielleicht liegt's am mir, aber ich finde deine Beschreibung nicht wirklich konkret. Wenn der Ort, an dem deine Ausgabedatei liegen soll von einem Eingabeparameter abhaengt, koenntest du das mit einem simplen if statement abfangen:nonsenz hat geschrieben:konkret möchte ich alle ausgaben innerhalb meines backupskriptes in eine bestimmte datei schreiben. der ort haengt allerdings von übergabeparametern des skripts ab.Wenn ich das ganze falsch verstanden habe, sieh die mal den Befehl "tee" an, damit kannst du einen Ausgabestrom aufteilen. Vielleicht koenntest du das dann verwenden.Code: Alles auswählen
if [ "Uebergabeparameter" -eq 1 ] then outputfile=/path1/file1 else outputfile=/path2/file2 fi echo "Nutze Ausgabedatei $outputfile" echo "Beginne mit dem Script" >>$outputfile
Code: Alles auswählen
if [ "$1" -eq 1 ]; then
exec 1>datei;
else
exec 1>bla;
fi;
echo Hallo Welt...
so. es klappt gut. dazu hab ich aber dann noch ne frage:
sollte ich das file am ende schliessen mit oder ist das egal?
und kann ich die tar ausgabe
irgendwie verhindern? also is das ne warnung oder sogar ein fehler, dessen auswirkungen egal sind? also unterdruecken will ich die ausgabe nicht, frab mich nur ob das auch anders geht.
danke nochmal und gute nacht!
sascha
sollte ich das file am ende schliessen mit
Code: Alles auswählen
1>&-
und kann ich die tar ausgabe
Code: Alles auswählen
tar: Removing leading `/' from member names
danke nochmal und gute nacht!
sascha
Hallo nonsenz,
Beispiel:
Gruß fuzzy
Mit "-C" kannst Du die "tar: Removing ..."-Ausgabe verhindern.nonsenz hat geschrieben:kann ich die tar ausgabeirgendwie verhindern?Code: Alles auswählen
tar: Removing leading `/' from member names
Beispiel:
Code: Alles auswählen
tar -cf /tmp/sicherung-etc.tar -C / etc
Hallo jengelh,
Auch wenn das von dem Ursprungsthema wegführt:
Mir ging es darum, dass Du bei einem Backup mit "tar" und "cron" die Ausgaben mit der tar-Option "-C" reduzieren kannst.
Du könntest Cron nun so einstellen, dass Du nur eine "Mail von cron" bekommst wenn tar eine Fehlermeldung ausgibt - nicht "alle" Informationen ins "Nirvana" leiten.
http://www.rootforum.de/forum/viewtopic ... b3b2f222ef
So mache ich dieses - es gibt immer viele verschiedene Möglichkeiten
Gruß fuzzy
Auch wenn das von dem Ursprungsthema wegführt:
Mir ging es darum, dass Du bei einem Backup mit "tar" und "cron" die Ausgaben mit der tar-Option "-C" reduzieren kannst.
Code: Alles auswählen
root@knoppix # tar -cf /tmp/sicherung-etc.tar /etc
root@knoppix # tar: Removing leading `/' from member names
root@knoppix # tar -cf /tmp/sicherung-etc.tar -C / etc
root@knoppix #
http://www.rootforum.de/forum/viewtopic ... b3b2f222ef
So mache ich dieses - es gibt immer viele verschiedene Möglichkeiten
Gruß fuzzy
Na ja man koennte ja:fuzzy hat geschrieben:Hallo jengelh,
Auch wenn das von dem Ursprungsthema wegführt:
Mir ging es darum, dass Du bei einem Backup mit "tar" und "cron" die Ausgaben mit der tar-Option "-C" reduzieren kannst.Du könntest Cron nun so einstellen, dass Du nur eine "Mail von cron" bekommst wenn tar eine Fehlermeldung ausgibt - nicht "alle" Informationen ins "Nirvana" leiten.Code: Alles auswählen
root@knoppix # tar -cf /tmp/sicherung-etc.tar /etc root@knoppix # tar: Removing leading `/' from member names root@knoppix # tar -cf /tmp/sicherung-etc.tar -C / etc root@knoppix #
http://www.rootforum.de/forum/viewtopic ... b3b2f222ef
So mache ich dieses - es gibt immer viele verschiedene Möglichkeiten
Gruß fuzzy
tar -cf etc etc etc 2>&1 | grep -v "^tar: Removing leading"
- KBDCALLS
- Moderator
- Beiträge: 22447
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Tar müßte seine Fehlemeldungen auf dem Fehlerkanal ausgeben , Lite den doch in den Mülleimer /dev/null um.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
Kaum macht man ein Fenster auf, gehen die Probleme los.
EDV ist die Abkürzung für: Ende der Vernunft
Bevor du einen Beitrag postest:
- Kennst du unsere Verhaltensregeln
- Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.
Ja. Verzichte auf absolute Pfadangaben bei den zu sichernden Dateien.nonsenz hat geschrieben: kann ich die tar ausgabeirgendwie verhindern?Code: Alles auswählen
tar: Removing leading `/' from member names
Re: bash-skript ausgabe
Hi,
wenn ich Stdout so in eine Datei schreibe, habe ich dann in einem Script noch irgendwie die Chance einzelne Ausgaben auf den Bildschirm zu schreiben? Kann ich diese globale Umleitung im Script auch wieder aufheben?jengelh hat geschrieben: Also bei 1000 echo-Befehlen wird das bald schrecklich, wenn man hinterj eden >>$outputfile setzen muss, daher empfehle ich:Betrifft natürlich auch die Ausgaben der Subprozesse(!)Code: Alles auswählen
if [ "$1" -eq 1 ]; then exec 1>datei; else exec 1>bla; fi; echo Hallo Welt...
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
Hi,
ich habe jetzt die Loesung gefunden, wie man die Umleitung wieder aufheben kann:
Hier ein kurzes Beispiel:
Vielleicht interessiert's ja auch andere.
ich habe jetzt die Loesung gefunden, wie man die Umleitung wieder aufheben kann:
Code: Alles auswählen
exec 1>$(tty)
Code: Alles auswählen
~/tmp$ rm out
~/tmp$ more xxx
echo davor
exec 1>out
echo drinnen
exec 1>$(tty)
echo danach
~/tmp$ ./xxx
davor
danach
~/tmp$ more out
drinnen
~/tmp$
Roland
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"
"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"