Ich habe vor Kurzem eine SSD in mein System eingebaut und einen Teil meiner Linux-Installation darauf verschoben. Um auf Nummer sicher zu gehen, möchte ich mein gesamtes Root-Dateisystem mit rsync sichern (nur ein Klon, keine Versionierung, kein inkrementelles Backup oder so), aber ich habe ein paar Probleme.
- Mein Dateisystem ist verteilt. /var und /tmp befinden sich auf unterschiedlichen Festplatten.
- Ich weiß, dass einige Stammverzeichnisse virtuell sind, aber muss ich sie ausschließen? (/proc, /dev usw.)
- Muss ich, wenn ich sie ausschließe, Dummy-/leere Versionen auf dem Backup-Laufwerk erstellen?
- Oder gibt es ein einfaches Tool, um diesen Vorgang zu automatisieren?
Die Frage ist, ob ich zum Sichern eines Live-Linux-Systems einfach rsync mit einer Reihe von Schaltern und Ausschlüssen verwenden kann oder ob ich dafür andere Tools verwenden sollte.
Dank im Voraus.
PS: Ich beherrsche Linux fließend. Fortgeschrittene/knifflige Methoden sind kein Problem.
Antwort1
Ich weiß, dass einige Stammverzeichnisse virtuell sind, aber muss ich sie ausschließen? (/proc, /dev usw.) Wenn ich sie ausschließe, muss ich dann Dummy-/leere Versionen auf dem Sicherungslaufwerk erstellen?
Ja, Sie müssen sie ausschließen.
In Bezug darauf, ob es Dummy-Versionen geben soll – damit Ihre Init-Skripte sie mounten können, müssen diese Verzeichnisse als leere Ordner vorhanden sein. Also ja – Sie müssen Stubs oder leere Verzeichnisse einschließen.
Die Frage ist, ob ich zum Sichern eines Live-Linux-Systems einfach rsync mit einer Reihe von Schaltern und Ausschlüssen verwenden kann oder ob ich dafür andere Tools verwenden sollte.
Dudürfen, zum Beispiel führe ich oft ein Backup mit aus rsync -av --delete /src /dst
. Beachten Sie jedoch, dassrsync verarbeitet Sperren/gleichzeitigen Zugriff überhaupt nicht. Wenn Sie in Dateien schreiben, die derzeit verwendet werden, kommt es zu allen möglichen Ausfällen.
Es gibt natürlich einen Weg, das zu umgehen. Vorausgesetzt, es finden momentan keine Schreibvorgänge statt, können Sie Folgendes ausführen:
/bin/mount -no remount,ro /dev/rootdevice
vor Ihrem rsync, dann:
/bin/mount -no remount,rw /dev/rootdevice
anschließend (als Root).
Wenn Sie Backups eines wirklich aktiven, schreibunterstützenden Dateisystems durchführen möchten, benötigen Sie etwas, das Copy-on-Write unterstützt, z. B.Linux-Volume-Snapshots.
Antwort2
Ich würde sagen, verwenden Sie cpio, um ein Archiv zu erstellen, und kopieren Sie das. Ich sage cpio, weil es für anfängliche Ramdisks verwendet wird, sodass es virtuelle Verzeichnisse versteht. Versuchen Sie
find / -depth -name | cpio -o >/path/archive.cpio
:)