Kann ich ein Root-Dateisystem eines laufenden Servers per SSH klonen?

Kann ich ein Root-Dateisystem eines laufenden Servers per SSH klonen?

Ich möchte ein Backup eines laufenden Servers erstellen. Alle Konfigurationsdateien und alles, ohne ihn auszuschalten.

Wie kann ich das erreichen? Ist es in Ordnung, alles zu kopieren? Weil ich Probleme mit dem rootVerzeichnis hatte.

Ich möchte auch nicht viel experimentieren, weil es wichtige Konfigurationen gibt.

Ich versuche, das alles über zu machen ssh. Wie kann ich dieses Backup durchführen?

Irgendwelche Ideen?

Antwort1

Wenn du alle Daten sichern möchtest, dann kannst du dich per ssh auf dem Server einloggen und dann einfach alle Dateien kopieren. Z.B. mit scpoder mit rsync.

Sie können sogar alles kopieren, einschließlich Betriebssystemdateien, wenn Sie
rsync -zvr --exclude /dev/ / destination_computer_name_or_ip

-r: Rekursiv
-v: ausführlich
-z: Aktiviert die Komprimierung

Beachten Sie, dass dadurch nicht der Boot-Datensatz kopiert wird. Dazu müssen Sie die gesamte Festplatte kopieren, und zwar, wenn die Festplatte nicht gemountet ist. (Lesen Sie: Fahren Sie die Maschine herunter, die Sie vollständig sichern möchten, und booten Sie von einer Live-CD oder von einer anderen Partition.)

Verwenden Sie dann dd, um das gesamte Laufwerk zu lesen.

Beispielcode:

PC zum Speichern der Sicherung:
nc -l 4242 | gunzip | cat > my_full_disk_backup_of_PC_named_foo

Und auf dem PC zum Sichern:
dd if=/dev/sda of=- bs=1M | gzip | nc -p 4242 name_of_the_destination

dd liest von der Festplatte. Die gesamte Festplatte, einschließlich Bootsektoren und leerer Sektoren.
Im Beispiel richten wir es für die erste Festplatte ein, wie durch sd angegebenA. Passen Sie es an: sdb für die zweite Festplatte, sdc für eine dritte Festplatte usw. usw.

Wir geben an std out aus, angezeigt durch -.

bs=1M legt eine Blockgröße fest. Sie brauchen das nicht, aber ohne gibt es viele kleine Lesevorgänge und einen enormen Overhead. Wenn Sie hier einen Wert größer als 512 Bytes oder 4k festlegen, geht das Ganze schneller.

Als nächstes leiten wir |die Ausgabe durch gzip, um sie zu komprimieren. Dabei wird vorausgesetzt, dass Ihre CPU viel schneller ist als Ihr Netzwerk. Sie können das gzip an der Quelle und das gunzip am Ziel überspringen. In diesem Fall senden Sie die Rohdaten und nicht die komprimierten Daten über das Netzwerk.

Zuletzt kommt ncoder netcat. Es akzeptiert die Eingabe aus der vorherigen Pipe und stellt sie im Netzwerk bereit, in Richtung Port 4242 auf einem Computer namensName_des_Reiseziels.


Auf der Empfängerseite machen wir das Gegenteil:

Lauschen Sie mit nc -l auf Eingaben auf Port 4242,

un-gzip, falls nötig,

Und schreiben Sie es schließlich in eine Datei.


Wichtiger Hinweis:

Sie können dies tun, während Sie von der Festplatte booten, die Sie sichern. Es gibt jedoch keine Garantie dafür, dass das Dateisystem während einer Sicherung gleich bleibt. Versuchen Sie dies daher nur, wenn Sie mit der Festplatte schreibgeschützt booten können. (z. B. indem Sie nur eine RAM-Disk verwenden)

Antwort2

was ich tun würde, ist sehr ähnlichHennes

ich würde eine ISO-Datei erstellen, sie herunterladen, auf eine Festplatte oder einen USB-Stick speichern und vorsichtshalber eine Kopie auf Dropbox hochladen.

mkisofs -V LABEL -r DIRECTORY | gzip > backup.iso.gz

Mein Freund hostet auf Rackspace. Er sagte mir, dass Rackspace-Benutzer die Möglichkeit haben, automatisch eine ISO-Datei zu erstellen. Wenn sie auf einen neuen Server migrieren, können sie das alte Backup auf dem alten Cloud-Server speichern rsyncoder was auch immer und es herunterfahren. Sie zahlen zwar immer noch, aber es ist billig.

Ich weiß nicht, ob Ihr Hosting ein automatisches Backup-System bietet oder ob Sie für den Support bezahlen. Es lohnt sich, sie zu fragen und es vielleicht von ihnen machen zu lassen, wenn Sie das zum ersten Mal machen.

verwandte Informationen