Der einfachste Weg zum Sichern von VPS

Der einfachste Weg zum Sichern von VPS

Meine Situation:

Ich habe VPS (Ubuntu) mit 2 Websites darauf. Da ich neu bei VPS bin (ich bin vor Kurzem von Shared Hosting umgestiegen), habe ich fast 2 Wochen damit verbracht, zu lernen, wie ich mein VPS konfiguriere, damit alle Websites so laufen, wie ich es möchte. Ich habe bei der Konfiguration von VPS viele Fehler gemacht, also habe ich es durch Neuinstallation / Konfiguration / Fehler / Neuinstallation / Konfiguration usw. gelernt.

Jetzt ist alles ok, VPS läuft, alle Dienste, die ich brauchte, funktionieren auch, ich habe viel gelernt – ALLES OK.

Fragen:

  1. Was ist der einfachste Weg, ein vollständiges VPS-Backup zu erstellen?

  2. Kann ich ein VPS-Backup einfach mit WinSCP erstellen? Ich meine, ich muss mich mit dem Stammordner (/) verbinden und alle VPS-Dateien von dort herunterladen?

  3. Wenn ja, wie kann ich es später wiederherstellen, wenn eine vollständige Neuinstallation des gesamten VPS erforderlich wird?

Zusätzliche Informationen zu meiner Situation:

  • Datenbanken werden manuell gesichert (möglich über phpmyadmin)
  • es gibt kein Backup-Tool in meinem VPS-Admin-Panel (SolusVM)
  • ich verwende keine GUI von cpanel/directadmin/virtualmin usw., nur die Konsole

Antwort1

Ich bevorzuge die Methode, einen virtuellen Remote-Server zu sichern, indem ich einfach Dateien kopiere – der Kernel befindet sich ohnehin auf dem Host. Natürlich müssen Sie beim Wiederherstellen etwas vorsichtig sein, und es ist möglicherweise nicht möglich, eine vollständige Wiederherstellung durchzuführen (im Gegensatz zu einem Disk-Image). Andererseits ist es einfacher, auf einen anderen Server zu migrieren, beispielsweise einen lokalen Server zum Testen.

Das Herunterladen vieler kleiner Dateien über eine Remote-Verbindung ist aufgrund des hohen Overheads tatsächlich ziemlich langsam. Dies ist umso schwerwiegender, wenn Sie physisch weit vom Server entfernt sind. Normalerweise ziehe ich es vor, alles in einem einzigen tarArchiv zu bündeln und es dann auf eine kleinere Größe zu komprimieren.

Der Befehl hierfür lautet tar cpzf filename.tar.gz /(wobei /alles rekursiv vom Stammverzeichnis gesichert werden soll). Sie möchten vielleichtvorhandene Sicherungsdateien ausschließen- Wenn Sie vorhaben, viele Backups aufzubewahren, ist es einfacher, sie alle in einem Verzeichnis abzulegen und dieses Verzeichnis auszuschließen. Dann müssen Sie die Datei nur mit einer beliebigen Methode herunterladen.

Die Wiederherstellung erfolgt mit dem Befehl tar xpf filename.tarim Stammverzeichnis. Sie können auchdas Zielverzeichnis angebenmit -C.

Antwort2

Ich habe eineidentische Fragezu Serverfault, und obwohl es einige der gleichen Themen abdeckt wie Bobs Antwort, verwende ich leicht unterschiedliche Tools und lege einen etwas anderen Schwerpunkt. Ich schlage vor, eine Paketliste zu erstellen und rsync zu verwenden (da es Berechtigungen verwalten kann und bei der Dateiübertragung ziemlich effizient ist).

Wenn alles andere fehlschlägt, gibt es noch die altmodische Methode: Verwenden Sie dpkg --get-selections, um eine Liste der installierten Pakete auszugeben, und installieren Sie sie mit dpkg --set-selections. Erstellen Sie bei Bedarf dieselben Benutzer wie das Quellsystem. cat /etc/passwd sollte sie auflisten, und Sie können mit diff prüfen, ob die beiden Listen identisch sind.

Verwenden Sie dann rsync, um Ihren /etc/-Ordner für Einstellungen, verschiedene /home/-Ordner für Benutzer (und überprüfen Sie hier die Berechtigungen) und andere Ordner wie /var/www/ zu duplizieren. Testen Sie, stellen Sie sicher, dass alles vorhanden ist, und fertig. Das dauert bei mir weniger Zeit, als einen neuen Server einzurichten.

Manchmal sind die alten, einfachen Methoden die besten. Wenn Sie dies manuell herausfinden, schreiben Sie einfach ein Skript, das dies automatisch von Ihrem aktuellen Server repliziert.

Antwort3

Verwenden Sie rsync für einfache inkrementelle Backups. Sie können dies über die Befehlszeile oder in komplexeren Szenarien über ein Skript tun.

Beispiel, mit dem Sie beginnen können:

$ options="--stats -aHh --delete"; echo == RUNNING with options: $options; time rsync -e ssh $options root@your-server-ip-or-hostname:/ /destination/my-server-backup --exclude /proc --exclude /dev --exclude /sys --exclude /run/udev

Weitere Beispiele finden Sie in dem von mir zusammengestellten Skript. Obwohl es ursprünglich für Windows gedacht ist, lässt es sich direkt auf Linux anwenden:https://github.com/paravz/windows-rsync-backup

verwandte Informationen