it-swarm.com.de

Migration mit minimalen Ausfallzeiten

Ich habe derzeit eine Live-Joomla (3.x) -Website in einer gemeinsam genutzten Hosting-Umgebung. Ich möchte diese Site durch eine neue Joomla (3.x) -Website in meiner localhost (XAMPP) -Umgebung ersetzen.

Wie gehen Sie am besten vor, um minimale Ausfallzeit zu gewährleisten?

Der Prozess, dem ich normalerweise folge, ist:

  • sichern Sie meine lokale Joomla-Site mit Akeeba
  • laden Sie die Sicherungsdatei (.jpa) und Akeeba Kickstart in das Live-Stammverzeichnis hoch
  • Inhalt des ZIP-Stammverzeichnisses (ohne JPA und Kickstart)
  • fahren Sie mit der Akeeba-Installation fort

Vorausgesetzt, die Installation von Akeeba verläuft reibungslos (was normalerweise der Fall ist), beträgt die Ausfallzeit nur wenige Minuten. Allerdings frage ich mich nur, ob es einen besseren Ansatz gibt, falls etwas nicht wie erwartet läuft? Beispiel: Erstellen einer temporären index -Holding-Seite oder einer temporären Domain usw.

Vielen Dank

4
jonboy

Wenn Sie genügend Rechte auf dem Server haben, mache ich das ohne Ausfallzeiten und ohne Akeeba. Ich benutze ein Skript wie

  1. Erstellen Sie einen Speicherauszug der MySQL-Joomla-Datenbank, und speichern Sie die Datei in einem Verzeichnis, das vom Apache-Server nicht gelesen werden kann (nicht über Benutzer www-data [ubuntu, etc] oder http [Arch Linux, ..] zugänglich):

    mysqldump -h hostname -u user --password=password databasename > filename

  2. RSYNC die gesamte Installation

    rsync -avz <server>:/<joomla_directory> <joomla_directory_localhost>

    schließe bei Bedarf einige Dateien wie die configuration.php aus ...

  3. Datenbankdatei einlesen mysql -h hostname -u user --password=password databasename < filename

Sicherheit:

Verwenden Sie eine Passwortdatei anstelle von --password=password wenn die Server von mehreren Benutzern verwendet werden, da jeder das Kennwort während des Datenbank-Dumps aus der Prozesszeile lesen konnte.

Mit diesen Schritten synchronisiere ich nicht nur einen Testserver auf localhost, sondern spiegele auch den gesamten Server einmal täglich an einen anderen Speicherort.

Vielleicht gibt es eine bessere Lösung?

4
Tom Kuschel

Es gibt einige Ansätze. Die Verwendung von @Tom Kuschel-Vorschlägen mit rsync, wenn Sie solche Berechtigungen haben, ist eine davon. Es gibt aber auch andere.

Wenn sich die einzigen Änderungen auf der Datenbankebene befinden, können Sie einfach die neue Datenbank erstellen, Ihre Daten importieren und dann Joomla mit dieser Datenbank verbinden.

Das Verbinden von Joomla mit einer anderen Datenbank (und entfernten Datenbanken) kann auch funktionieren, wenn Sie die Site zusammen mit DNS-Änderungen von einem Server auf einen anderen übertragen, vorausgesetzt, Sie können entfernte Verbindungen zur Datenbank zulassen.

Wenn Sie auch die Codebasis aktualisieren müssen, ist es immer besser, die neue Version auf dem Server bereitgestellt und getestet zu haben. Normalerweise richte ich zuerst die neue Version in einem Unterordner ein, um sicherzustellen, dass sie wie erwartet funktioniert (dazu gehört auch, dass der Kunde sie überprüft/testet), und dann wechsle ich.

Zum Wechseln lege ich normalerweise die alten Website-Dateien in einen Ordner und verschiebe dann den Inhalt des Unterordners meiner Testversion in den Dokumentenstamm. Wenn ich bestätige, dass alles vorhanden ist, ändere ich bei Bedarf die Verzeichnispfade für log/tmp in der configuration.php und bin fertig. Dies ist in der Regel nur einige Sekunden Aufgabe.

Es ist auch möglich, das Dokumentstammverzeichnis des Hosting-Kontos so zu ändern, dass es auf dieses neue Verzeichnis verweist. Auf diese Weise erfolgt der Wechsel sofort. Konsultieren Sie dazu die Dokumentation Ihres Control Panels oder wenden Sie sich an Ihren Hosting-Anbieter.

Einige zusätzliche Überlegungen zu Ausfallzeiten für Wartung und Updates: Nach den Jahren und vielen Migrationen/Standortwechseln bin ich zu dem Schluss gekommen, dass in vielen Fällen eine minimale Ausfallzeit akzeptabel, vorzuziehen und in einigen Fällen erforderlich ist.

Der professionellere Ansatz besteht darin, alle Beteiligten/Benutzer der Website darüber zu planen und zu informieren und eine temporäre Seite vorzubereiten, die während der Migration angezeigt wird. Ich schlage vor, zuerst die Migration zu versuchen, um eine Vorstellung von der Zeit zu bekommen, die sie benötigt, zusammen mit anderen Dingen, die Ihnen in den Weg kommen könnten.

All dies ist wichtiger, wenn die Website, an der Sie arbeiten, vom Benutzer aktualisierte Inhalte enthält. Solche Migrationen sind eine ganz andere Sache als eine eher statische Website. Sie müssen sicherstellen, dass Ihre neue Version den neuesten Inhalt enthält. In solchen Fällen benötigen Sie einen sehr guten Plan, der zuvor getestet wurde. Und natürlich können Sie Ausfallzeiten nicht vermeiden.

3
FFrewin

Wenn wir ein solches Site-Upgrade durchführen, verwenden wir einen temporären Ordner und Akeeba. Erstellen Sie einfach einen neuen Ordner für die aktualisierte Site und installieren Sie ihn mit Akeeba. Stellen Sie sicher, dass Sie eine neue Datenbank verwenden, damit die gesamte neue Site im Ordner voll funktionsfähig ist. Wenn Sie sich davon überzeugt haben, dass alles funktioniert, verschieben Sie die gesamte aktuelle Joomla-Installation in einen Ordner und anschließend die neue Joomla-Installation in das Stammverzeichnis. Mit dem cPanel-Dateimanager dauert es weniger als eine Minute, um die Dateien zu verschieben, und wenn etwas schief geht, ist es sehr einfach, die Versionen erneut zu wechseln.

3
Brent Friar