Frage zur Linuxadministration (dump)?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Hi

sieh das bitte mal so (da lasse ich manches weg):

  • die Standardausgabe (stdout) ist das, wo ein Programm hinschreibt, wenn nichts angegeben wird - das ist der Bildschirm
  • eine Pipe bedeutet: du leitest Aus- oder Eingabe eines Programmes um! Beispiel:

"ls -l | nl" verbindet die Standardausgabe von dem Befehl "ls" mit der Standardeingabe (stdin) des Befehls "nl". Das Programm "nl" "denkt" also: jemand gibt was ein - dabei ist es egal, ob das von der Tastatur oder einem anderen Programm kommt.

Jetzt kommt der Satz mit dem Bandgerät - auch da ist das so. Beispiel:

ls -l | nl > /tmp/oops leitet die Ausgabe von "nl" in eine Datei um

ls -l | nl >/dev/tape würde die Ausgabe auf das Gerät "tape" schreiben. Mach das bitte nicht - das ist nur ein Beispiel. Das Gerät müsste dafür funktionsfähig angeschlossen und einsatzbereit sein

Aber du bist ja beim "dump". Der liest Daten von einem Gerät und schreibt sie woanders hin. Mit dem Parameter "-f <file>" gibst du an wohin die Ausgabe gehen soll.

"dump [irgendwelche Parameter] -f /tmp/oops" schreibt seine gelesenen Dateien nach /tmp/oops

"dump [irgendwelche Parameter] -f -" schreibt sie einfach auf die Standardausgabe (stdout), also auf den Bildschirm wenn dahinter keine Pipe kommt

"dump [irgendwelche Parameter] -f - >/tmp/oops" macht eigentlich das gleiche wie das erste dump-Beispiel, schreibt die Daten aber jetzt über die umgeleitete Standardausgabe in die Datei.

*** Allerdings habe ich den dump schon länger nicht mehr verwendet - kann also sein, dass da noch was zu beachten ist *** der Pipe-Mechanismus und Ausgabeumleitung sind aber schon immer so ***


Tichuspieler 
Beitragsersteller
 19.03.2025, 15:52

Hallo norbertk,

erst einmal danke für Deine Antwort.
Ich schreibe einmal auf, wie ich es verstehe, hoffe auch, dass ich es geschnuckelt habe, bitte Dich gleichzeitig, mich zu korrigieren, wenn ich einen Denkfehler habe.

Angenommen, ich will jetzt die mp3-Dateien Titel E, Titel F und Titel G sichern, dann passiert dies mittels "dump -1 -f sdb/>Musiktitel", er soll also die drei neuen Titel an die Titel in der Datei Musiktitel schreiben.

Wenn ich jetzt "dump" -f - "schreiben würde, dann erscheint auf dem Bildschirm Titel E, Titel F, Titel G

Wenn ich nun "dump -f - | nl schreibe, dann erscheinen Titel E, F und G ebenfalls auf dem Bildschirm, aber weil hinter der Pipe der Befehl nl steht, steht vor jedem Titel eine Zahl.

Wenn ich das Ganze verstehe, könnte ich dank der Pipe dann auch zwei Sicherungen machen (z.B. eine auf sdb und eine auf Tape).

Zumindest bin ich der Sache schon einen Schritt näher gekommen zu sein.

norbertk62  19.03.2025, 16:15
@Tichuspieler

Hi

ich komm nicht richtig dahinter, was du machen willst.

  • das "nl" steht einfach für "number lines". Das gibt einfach jede Zeile aus und schreibt die Zeilennummer davor - war nur als Beispiel gedacht, damit man was sieht
  • erst mal: ja - mit einer Pipe können mehrere Ausgaben (Dateien) gleichzeitig geschrieben werden

Prinzip wäre folgendermaßen:

"ls -l | nl | tee /tmp/first > /tmp/second" Das würde die Ausgabe des "ls -l" gleichzeitig in die Dateien /tmp/first und /tmp/second schreiben weil "tee" die Ausgabe einfach rausschreibt und gleichzeitig in eine (oder mehrere) Dateien schreiben kann.

Zur Backup-Geschichte - das würde ich entweder mit dem Befehl "tar" oder "cpio" machen - die können dann die Dateien sichern, aber eben in eine Archiv-Datei. "tar" ist der "Tape-Archiver" und "cpio" ist "Copy-Input-Output". die beiden habe ich immer verwendet.

"dump" habe ich nur verwendet, um eine Datei oder ein Device auszulesen und das Ergebnis in eine Datei "roh" reinzuschreiben - also nicht für Backups. Damit könnte man aber auch Partitionen klonen.

Beispiel:

"tar cvzf /tmp/MeinArchiv.tar.gz /home/[meineKennung]" erzeugt aus den Dateien in deinem Home-Verzeichnis eine komprimierte Archivdatei unter /tmp/

cpio ist noch härter

  • "find /home/[meineKennung] -type f -print | cpio -[Parameter] > /tmp/MeinCpio.cpio" schreibt alle Dateien in ein cpio-Archiv rein
  • jetzt kommts: "find /home/[meineKennung] -type f -print | cpio -pdvmuCc [Zielverzeichnis]" kopiert die Dateien an sich (!) in das Zielverzeichnis.

Bitte schau dir genau die Parameter der beiden Programme an - da gibt es wirklich viele.

norbertk62  19.03.2025, 16:52
@Tichuspieler

GANZ WICHTIG - hab ich vergessen.

Schau immer drauf, dass du in Archivdateien RELATIVE PFADE reinschreibst - KEINE ABSOLUTEN. Das würde ggf Ärger beim Restore machen !!! UNBEDINGT BEACHTEN !!!

Tichuspieler 
Beitragsersteller
 22.03.2025, 09:29
@norbertk62

Guten Morgen,

danke Dir erst einmal für die beiden zusätzlichen Hilfen. "tar" kommt gerade jetzt in meinem Lehrbuch an die Reihe, cpio steht mir noch bevor (müsste aber auch bald behandelt werden).

Danke für den Tipp mit den Relativen Pfaden in den Archivdateien. Damit habe ich wieder etwas Neues dazugelernt :-)

Dir noch ein kultiges Wochenende :-)