Hallo, habe noch eine letze Frage für heute an euch: wenn ich mit tar -cvf /dev/st0 /home z.B etwas sichere, kann ich auch mehrere Verzeichnisse auf einmal sichern ? Z.B. so : tar -cvf /dev/st0 /home, /etc, usw ?? Habe dazu über Google nicht gefunden . Gruß Michael
sirl-suse wrote:
wenn ich mit tar -cvf /dev/st0 /home z.B etwas sichere, kann ich auch mehrere Verzeichnisse auf einmal sichern ?
Z.B. so : tar -cvf /dev/st0 /home, /etc, usw ??
Habe dazu über Google nicht gefunden .
Warum in die Ferne schweifen? Linux hat zwar ein "Online Manual", aber man muss dafür keine Netzwerkverbindung bemühen. In "man tar" steht die Antwort gleich im Aschnitt "Synopsis" -- Viele Grüße ------------------------------------------------------------------------ Michael Behrens
sirl-suse wrote:
Hallo,
habe noch eine letze Frage für heute an euch:
wenn ich mit tar -cvf /dev/st0 /home z.B etwas sichere, kann ich auch mehrere Verzeichnisse auf einmal sichern ?
Z.B. so : tar -cvf /dev/st0 /home, /etc, usw ??
Habe dazu über Google nicht gefunden .
Gruß Michael
Hallo Michael, "man tar" ist Dein Freund. Es sagt tar [ .... ] filename1 [ filename2, ... filenameN ] bzw. directory1 [ directory2, ... directoryN ]. D.h. es sollte fast wie geplant funktionieren. ABER: die Option -f steht soweit ich es spontan weiss für "file", d.h. es handelt sich dabei normalerweise um einen Filenamen. Also z.B. tar -cvf test.tar /home /etc. Habe vor zig Jahren das letzte Backup auf ein Bandlaufwerk gemacht (mittlerweile nur noch Festplatten-Backups). D.h. das müsstest Du mal ausprobieren oder nochmal in der man-Page nachlesen. Viele Erfolg Joachim
Hallo Joachim, hallo Michael, hallo Leute, Am Sonntag, 10. Juli 2005 22:21 schrieb Joachim Kieferle:
sirl-suse wrote:
Z.B. so : tar -cvf /dev/st0 /home, /etc, usw ?? [...] ABER: die Option -f steht soweit ich es spontan weiss für "file", d.h. es handelt sich dabei normalerweise um einen Filenamen. Also z.B. tar -cvf test.tar /home /etc.
Siehe die handverlesene sig ;-) - /dev/st0 _ist_ eine Datei, kein Problem also. Gruß Christian Boltz -- Unix: Alles ist ein File, und was kein File ist, hat sich gefaelligst als ein solches zu tarnen. [Wolfgang Weisselberg in linux-liste]
Hallo, Am Sun, 10 Jul 2005, Joachim Kieferle schrieb:
ABER: die Option -f steht soweit ich es spontan weiss für "file", d.h. es handelt sich dabei normalerweise um einen Filenamen. Also z.B. tar -cvf test.tar /home /etc.
Joachim, Joachim, Joachim... Unter Unix ist alles ausser Verzeichnissen eine Datei. Und selbst die Verzeichnisse sind eigentlich Dateien, nur kommt man an diese nicht mit normalen Mitteln ran. Also: bei tar kann man alle Dateien angeben, in die man schreiben kann. Im folgenden halte ich Pfade extrem kurz. z.B. eine normale Datei: tar -cf /irgendwo/foo.tar /foo Oder auch ein symlink: ln -s /foo.tar /irgendwo/foo.tar tar -cf /irgendwo/foo.tar /foo tar -xf /foo.tar z.B. stdout oder eine Pipe: tar -cf - /foo/ > /irgendwo/foo.tar tar -cf - /foo/ | ssh foo@nocheinhost "tar -C /da/wos/hinsoll/ -xf -" ssh root@192.168.0.2 "( cd /mnt/hda1; tar cp --atime-preserve \ --exclude=hiberfil.sys --exclude=pagefile.sys \ --exclude=WINDOWS/system32/shgina.dll . ; ) " \ | tar xvp --atime-preserve Letzteres (eine Zeile!) ist ein reales Beispiel mit dem ich neulich ne XP-Partition gesichert habe, wobei auf dem Laptop ein Knoppix mit nem sshd lief und die XP-Partition unter /mnt/hda1 gemounted war. Und ja, die Dateien sind korrekt angekommen. Und wurden nach der Neuinstallation von XP erfolgreich zurueckkopiert. Man kann einen tarball auch ganz ohne Dateisystem direkt auf ein Band schreiben, also ein Char-Device: tar -cf /dev/st0 /foo Und vermutlich auch auf ein Block-Device, z.B. eine Partition/Festplatte: tar -cf /dev/hdXY /foo Das habe ich aber noch nicht getestet. Und evtl. sogar eine CD schreiben bzw. von dort lesen? tar -c /foo | cdrecord dev=... und tar -xf /dev/sr0 Keine Ahnung das mit CD aber funktioniert ;) Auch ein Socket ist eine Datei, ebenso wie eine "named pipe" ==== etwas sinnlos ;) === mknod /tmp/FIFO p tar -cf /tmp/FIFO cat /tmp/FIFO > /foo.tar ==== Noch Fragen? -dnh -- 144: Maxmimale Entfernung zweier Hubs 12800 km. (Roger Schwendker)
Tag, David Haller wrote:
Hallo,
Am Sun, 10 Jul 2005, Joachim Kieferle schrieb:
ABER: die Option -f steht soweit ich es spontan weiss für "file", d.h. es handelt sich dabei normalerweise um einen Filenamen. Also z.B. tar -cvf test.tar /home /etc.
Joachim, Joachim, Joachim...
Unter Unix ist alles ausser Verzeichnissen eine Datei. Und selbst die Verzeichnisse sind eigentlich Dateien, nur kommt man an diese nicht mit normalen Mitteln ran.
Also: bei tar kann man alle Dateien angeben, in die man schreiben kann.
Im folgenden halte ich Pfade extrem kurz.
z.B. eine normale Datei:
tar -cf /irgendwo/foo.tar /foo
Oder auch ein symlink:
ln -s /foo.tar /irgendwo/foo.tar tar -cf /irgendwo/foo.tar /foo tar -xf /foo.tar
z.B. stdout oder eine Pipe:
tar -cf - /foo/ > /irgendwo/foo.tar
tar -cf - /foo/ | ssh foo@nocheinhost "tar -C /da/wos/hinsoll/ -xf -"
ssh root@192.168.0.2 "( cd /mnt/hda1; tar cp --atime-preserve \ --exclude=hiberfil.sys --exclude=pagefile.sys \ --exclude=WINDOWS/system32/shgina.dll . ; ) " \ | tar xvp --atime-preserve
Letzteres (eine Zeile!) ist ein reales Beispiel mit dem ich neulich ne XP-Partition gesichert habe, wobei auf dem Laptop ein Knoppix mit nem sshd lief und die XP-Partition unter /mnt/hda1 gemounted war. Und ja, die Dateien sind korrekt angekommen. Und wurden nach der Neuinstallation von XP erfolgreich zurueckkopiert.
Ich hätte da im internen Netz (192.168.0.0/16) ja eher ohne ssh sondern mit netcat gearbeitet :-)
Man kann einen tarball auch ganz ohne Dateisystem direkt auf ein Band schreiben, also ein Char-Device:
tar -cf /dev/st0 /foo
Das ist sogar der Normalfall wenn man mit tar auf Band sichert.
Und vermutlich auch auf ein Block-Device, z.B. eine Partition/Festplatte:
tar -cf /dev/hdXY /foo
Das habe ich aber noch nicht getestet.
Würde ich von abraten.
Und evtl. sogar eine CD schreiben bzw. von dort lesen?
tar -c /foo | cdrecord dev=... und tar -xf /dev/sr0
Keine Ahnung das mit CD aber funktioniert ;)
Kann man machen, habe ich mal ein Script für gehabt, aber das hat damals als es noch kein BURNproof etc. gab nicht stabil funktioniert.
Auch ein Socket ist eine Datei, ebenso wie eine "named pipe"
==== etwas sinnlos ;) === mknod /tmp/FIFO p tar -cf /tmp/FIFO cat /tmp/FIFO > /foo.tar ====
Ich würde da noch ein & einbauen. Mindestens. Und im übrigen ist das nicht sinnlos - immerhin gibt es beispielsweise Programme die zwar Dateien lesen wollen aber kein STDIN mögen, und so kann man dann on-the-fly und ohne Platzverschwendung z.B. Datenbankwartungsprogramme mit Datenbankbackups füttern.
Noch Fragen?
Immer. Nur fallen mir grade keine ein. Arno
-dnh
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de
participants (6)
-
Arno Lehmann
-
Christian Boltz
-
David Haller
-
Joachim Kieferle
-
Michael Behrens
-
sirl-suse