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
vielleicht hilft das, habe aber selber das nicht ausprobiert oder genau gelesen: https://help.ubuntu.com/community/BackupYourSystem/TAR
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.
Warum kein cp -r / <Pfad zu USB Stick>
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.
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.
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
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.
> 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 -
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
(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· 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
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.
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
Danke! Ich probiere das mal aus und gebe Bescheid.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.