Einführung
Wenn Sie eine kritische Website betreiben, empfiehlt es sich, Ihre Dateien auf einen sekundären Server zu spiegeln. Für den Fall, dass Ihr Hauptserver ein Netzwerk- oder Hardwareproblem aufweist, bietet Ihnen gespiegelte Dateien die Flexibilität, sofort von einem Server auf einen anderen zu wechseln.
Führen Sie die folgenden Schritte aus, um Ihre Dateien von Server A (Haupt) zu Server B (Sicherung) zu synchronisieren.
Installieren Sie rsync
Installieren Sie rsync sowohl auf Server A als auch auf Server B.
apt-get install rsync
Generieren Sie einen SSH-Schlüssel auf Server B.
Führen Sie den folgenden Befehl auf Server B aus, um einen SSH-Schlüssel zu generieren.
ssh-keygen
Drücken Sie die Eingabetaste, um alle Eingaben zu überspringen.
Kopieren Sie den in generierten Inhalt /root/.ssh/id_rsa.pub.
Fügen Sie den öffentlichen SSH-Schlüssel in Server A ein
Gehen Sie zu Server A und fügen Sie den kopierten Inhalt ein /root/.ssh/authorized_keys.
Wenn dieses Verzeichnis oder diese Datei nicht vorhanden ist, erstellen Sie sie. Jetzt kann sich Server B mit SSH bei Server A anmelden.
Starten Sie die Synchronisierung
Kehren Sie zu Server B zurück und starten Sie rsync zum ersten Mal. Überprüfen Sie den folgenden Befehl und führen Sie ihn aus. Sie müssen den Pfad zu Ihrer Website auf beiden Servern und die IP-Adresse von Server A hinzufügen.
rsync -avrt --delete --rsh='ssh -p 22' root@SERVER_A_IP_ADDRESS:/path/to/your/website/in/server/a/ /backup/path/in/server/b/
Geben yesSie ein, wenn Sie aufgefordert wurden, die Authentifizierungsinformationen zu speichern. Wenn Sie ssh so konfiguriert haben, dass es einen benutzerdefinierten Port überwacht, ändern Sie die 22 in Ihren eigenen Port. Warten Sie, bis alle Dateien synchronisiert wurden.
Cronjob einrichten
Richten Sie einen Cronjob ein, um Ihre Dateien automatisch zu synchronisieren. In diesem Beispiel werden sie alle 3 Minuten synchronisiert. Bearbeiten /etc/crontab.
Überprüfen Sie die folgende Zeile und hängen Sie sie an die crontabDatei an. Sie müssen es wie zuvor aktualisieren.
*/3 * * * * root rsync -avrt --delete --rsh='ssh -p 22' root@SERVER_A_IP_ADDRESS:/path/to/your/website/in/server/a/ /backup/path/in/server/b/ >/dev/null 2>&1