Forum: PC Hard- und Software Telnet Zugriff auf Linux: alles kopieren für Backup - aber wie?


von Mölle (Gast)


Lesenswert?

ich habe per Telnet Zugriff auf ein Gerät im meinem Netzwerk - da läuft 
irgendein Linux drauf. Da möchte ich nun ein wenig dran herumspielen, 
aber vorher alles sichern. Das Linux-Device hat ein eingebundenes 
zweites Laufwerk (ein USB Stick).

Da kann ich mich nun zwar durch die Verzeichnisse bewegen und einzelne 
Dateien per 'cp -R' auf den Stick kopieren - aber mit zig 
Unterverzeichnissen und Dateien ist das doch ziemlich mühsam und dauert 
Stunden.

Gibt es eine Möglichkeit, einfach alle Dateien und Unterverzeichnisse zu 
kopieren um ein Backup vom aktuellen System zu erhalten?
Batchdatei (kann ja ruhig ewig laufen, nur eben ohne Nutzereingriff)?

Danke

: Verschoben durch User
von nixe (Gast)


Lesenswert?

vielleicht hilft das, habe aber selber das nicht ausprobiert oder genau 
gelesen:

https://help.ubuntu.com/community/BackupYourSystem/TAR

von Peter (Gast)


Lesenswert?

tar?

von radiostar (Gast)


Lesenswert?

normalerweise verwendet man rsync für solche Zwecke. Schick wird's, wenn 
man differentielle Backups machen will - dann macht man vom letzten 
Backup mittels cp -l eine hardlink-Kopie (geht ruck-zuck) und bügelt mit 
rsync nochmal drüber.

von radiostar (Gast)


Lesenswert?

Nachtrag: vergiß' tar.

von Sebastian Hepp (Gast)


Lesenswert?

Warum kein

cp -r / <Pfad zu USB Stick>

von nixe (Gast)


Lesenswert?

Warum kein

cp -r / <Pfad zu USB Stick>

naja bleiben dabei alle links und Rechte erhalten?
und cp dauert ewig und drei Tage.

du kannst auch bei den link oben das TAR an Ende wegtun dann kommen 
mehrere Alternativen.

von Markus F. (mfro)


Lesenswert?

Sebastian Hepp schrieb:
> Warum kein
>
> cp -r / <Pfad zu USB Stick>

Das ist keine gute Idee. So kannst Du weder Device Files noch Hard Links 
kopieren, außerdem gehen alle uid/gid Zuordnungen und Zugriffsrechte 
verloren.
1
find . -print | cpio -dumpv <usb-stick>

erzeugt eine exakte Kopie des Verzeichnisbaums.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Sebastian Hepp schrieb:
> cp -r / <Pfad zu USB Stick>

Klasse. Da der USB-Stick auch unter / liegt, wird der direkt 
mitgesichert... und zwar solange, bis er überläuft und voll ist.

Ausserdem werden so keine Berechtigungen mitkopiert.

Man könnte cp noch mit den Optionen -au aufrufen. Dann werden 
Berechtigungen ebenso kopiert wie auch Device-Dateien oder andere 
Special Files, wie z.B. Fifos usw. Die Option a sorgt dafür, dass nur 
neuere Dateien kopiert werden. Damit würden dann zu einem späteren 
Zeitpunkt nur noch diejenigen Dateien kopiert, die neuer sind - also 
eine Art inkrementelles Backup.

Unter einem richtigen Backup stelle ich mir aber was anderes vor. Ich 
empfehle daher auch tar. Die skizzierte Lösung mit cpio ist aber auch 
ok.

: Bearbeitet durch Moderator
von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

Wenn Mann kein ufsdump hat, muss Mann tar benutzen.
Ist auch schmerzfrei:


cd /;tar clpf /mnt/usbstick/bla.tar .

Und fettich iss.



Nuex als Laien hier.

von [x] (Gast)


Lesenswert?

> Wenn Mann kein ufsdump hat, muss Mann tar benutzen.

Dump/Restore ext2/3/4
https://sourceforge.net/projects/dump



eg. $ssh quelle 'dump -0 -f - /' | restore -r -f -

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Man koennte natuerlich auch auf die Idee kommen, von dem entsprechenden 
Devicenode sich eine Kopie des kompletten Filesystems als Image (und 
nicht der einzelnen Dateien und Verzeichnisse) ziehen.
Also z.b. sowas in der Art:
1
dd if=/dev/mtd2 of=/mnt/usb/image_mtd2.img

Dieses Image kann man dann in aller Seelenruhe auf einem "richtigen" 
Linuxrechner mounten und sich die einzelnen Dateien/Verzeichnisse 
angucken. Dessen Kernel muss halt das verwendete filesystem koennen.
Oft steht auch bootloader, bootloader-environment, kernel in einer 
eigenen mtd-Partition, ganz ohne Filesystem. Einfach nur so - muss man 
sich halt die verschiedenen mtd partitionen oder sonstwelche 
Verdaechtigen mal als hexdump angucken...

Gruss
WK

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4811635:
> cd /;tar clpf /mnt/usbstick/bla.tar .
>
> Und fettich iss.

Nix fettich iss. Du packst damit die tar-Datei auch nochmal ins 
tar-Archiv. Leute, wenn Ihr root sichern wollt, müsst Ihr den Zielort 
der Sicherung immer ausschließen!

So gehts:
1
cd /
2
tar clpf /mnt/usbstick/bla.tar bin dev etc home lib opt proc root sbin sys tmp usr var

Je nach Linux-Distri können da auch noch andere Verzeichnisse wie z.B. 
"opt" liegen. Die müssen dann natürlich auch angegeben werden.

Aber: Das Verzeichnis "mnt" muss weggelassen werden, wenn der Zielort 
des tar-Archivs unter /mnt liegt!

Komprimierung ist auch noch nett:
1
cd /
2
tar clpzf /mnt/usbstick/bla.tgz bin dev etc home lib opt proc root sbin sys tmp usr var

: Bearbeitet durch Moderator
von Johnny B. (johnnyb)


Lesenswert?

Mölle schrieb:
> Gibt es eine Möglichkeit, einfach alle Dateien und Unterverzeichnisse zu
> kopieren um ein Backup vom aktuellen System zu erhalten?

Glaube nicht, dass das zuverlässig funktioniert, weil Dein Backup so nie 
konsistent sein wird. Besonders schlimm wird es, wenn noch Datenbanken 
und Logfiles im Spiel sind.

Entweder Du verwendest ein Tool, welches einen Snapshot ziehen kann (vom 
laufenden System), oder Du bootest mit einem Live-Stick und ziehst von 
allen Datenträgern ein Image, welches dann wieder zurückgespielt werden 
kann um den ursprünglichen Zustand wieder herzustellen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Zum kompletten Klonen ist auch dd gut geeignet:
1
dd if=/dev/sda1 of=/dev/sdb1
Da ich so schon öfter Linux Systemplatten geklont habe, kann ich sicher 
sagen, das so alle Symlinks und WasAuchImmers erhalten bleiben.

Das Ziel muss allerdings mindestens genauso gross sein wie die Quelle.
Dann Filesystem auf Konsistenz checken:
1
e2fsck -f /dev/sdb1
Wenn du EXT3 oder EXT4 benutzt
Dann die Partition auf Grösse des Zieles expandieren:
1
resize2fs -p /dev/sdb1
Nun eine neue UUID generieren, denn das ist noch die gleiche wie die 
Quellpartition:
1
tune2fs /dev/sdb1 -U `uuidgen`
Da du vermutlich von der Zielpartition nicht booten willst, sollte nun 
alles fertig sein. Falls doch, geht es noch ein wenig weiter.

: Bearbeitet durch User
von Mölle (Gast)


Lesenswert?

Danke!
Ich probiere das mal aus und gebe Bescheid.

von Andreas H. (ahz)


Lesenswert?

Mölle schrieb:
> Gibt es eine Möglichkeit, einfach alle Dateien und Unterverzeichnisse zu
> kopieren um ein Backup vom aktuellen System zu erhalten?
> Batchdatei (kann ja ruhig ewig laufen, nur eben ohne Nutzereingriff)?

Schau Dir mal rsync an.

/regards

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.