Haben Sie sich jemals Sorgen um den Verlust Ihrer Daten gemacht oder sind Sie es leid, täglich oder wöchentlich manuelle Backups durchzuführen? Verwenden Sie die rsync Befehl und synchronisieren Sie Ihre lokalen Dateien so oft wie gewünscht automatisch mit einem Remote-Server, ohne dass manuelle Eingriffe erforderlich sind. Bitte beachten Sie, dass dieses Handbuch Zugriff auf einen Remote-Linux-Server erfordert (z. AWS) und ist unter Ubuntu 20.04 geschrieben, obwohl jede Linux-Distribution gut funktionieren sollte.

rsync installieren

Überprüfen Sie vor allem, ob oder nicht rsync ist installiert. Führen Sie sowohl auf Ihrem lokalen PC als auch auf Ihrem Webserver diesen Befehl aus:

rsync --version

Wenn Sie im Gegenzug die aktuelle rsync-Version erhalten, sind Sie bereit für den nächsten Abschnitt. Andernfalls, wenn Sie a Befehl nicht gefunden Fehler, können Sie installieren rsync mit diesem Befehl:

sudo apt-get -y install rsync

SSH-Schlüssel generieren

Wir werden a. verwenden SSH-Schlüssel

instagram viewer
um die Verbindung zwischen unserem lokalen PC und dem Remote-Server zu authentifizieren. Um einen neuen SSH-Schlüssel auf Ihrem lokalen PC im Terminal zu generieren, führen Sie den Befehl aus:

So richten Sie SSH unter Linux ein und testen Ihr Setup: Ein Leitfaden für Anfänger

Müssen Sie remote auf Ihren Linux-Computer oder -Server zugreifen? Hier erfahren Sie, wie Sie SSH unter Linux, Windows und Mobilgeräten einrichten und konfigurieren.

ssh-keygen -t rsa -b 4096 -f ~/.ssh/rsync.key

Wenn Sie nach einem Passwort gefragt werden, lassen Sie es leer und drücken Sie zweimal die Eingabetaste. Dadurch werden zwei neue Dateien in Ihrem ~/.ssh/ Verzeichnis namens rsync.key das ist der private Schlüssel, und rsync.key.pub, der öffentliche Schlüssel.

Remote-Server einrichten

Obwohl dies nicht erforderlich ist, erstellen wir für diese Anleitung ein neuer Benutzer auf dem Remote-Server für rsync-Verbindungen und zum Speichern aller Sicherungsdateien. Melden Sie sich per SSH am Remote-Server an und führen Sie diesen Befehl aus:

sudo useradd -m rsync

Das obige Beispiel verwendet den Benutzernamen rsync, aber Sie können es beliebig ändern. Die -m Option weist Linux einfach an, ein Home-Verzeichnis für unseren neuen Benutzer zu erstellen.

Damit sich Ihr lokaler PC authentifizieren kann, muss der im vorherigen Abschnitt generierte öffentliche SSH-Schlüssel auf den Remote-Server kopiert werden. Öffne das /~.ssh/rsync.key.pub Datei in a Texteditor und Sie sehen eine große Linie, die ungefähr so ​​​​aussieht.

ssh-rsa user@host

Diese lange Zeile ist der öffentliche SSH-Schlüssel. Kopieren Sie es in Ihre Zwischenablage und führen Sie auf Ihrem Remote-Server diese Befehle aus:

sudo su rsync
mkdir -m 0700 $HOME/.ssh
echo "ssh-rsa AAAAB... user@host" > $HOME/.ssh/authorized_keys
chmod 0644 $HOME/.ssh/authorized_keys

Ersetzen Sie im vorletzten Befehl den Text zwischen den Anführungszeichen durch diese lange öffentliche SSH-Schlüsselzeile. Das war's, Ihr lokaler PC kann sich jetzt bei Ihrem Remote-Server authentifizieren.

SSH-Konfigurationsdatei konfigurieren

Fügen Sie der Einfachheit halber einen Eintrag in die ~/.ssh/config Datei auf Ihrem lokalen PC, um sich einfach mit dem Remote-Server zu verbinden. Öffnen Sie die Datei auf Ihrem lokalen PC mit dem Befehl.

nano $HOME/.ssh/config

Fügen Sie in der Datei einen Eintrag für den Remote-Server hinzu, wie zum Beispiel:

Host-Backup-Server
 Hostname 192.168.0.24
 Benutzer rsync
 Identitätsdatei ~/.ssh/rsync

Ändern Sie den Hostnamen in die IP-Adresse Ihres Remote-Servers, und wenn Sie einen anderen Benutzernamen als "rsync" verwendet haben, ändern Sie diesen ebenfalls. Sie können für den Host alles verwenden, was Sie wollen, aber für dieses Beispiel wurde "backup_server" verwendet. Speichern und schließen Sie die Datei, indem Sie Strg+X gefolgt von den Tasten "Y" und Enter drücken.

Testen Sie Ihre SSH-Verbindung zum Remote-Server mit dem Befehl.

ssh-backup_server

Vorausgesetzt, alles ist korrekt eingerichtet, sollten Sie jetzt über SSH bei Ihrem Remote-Server angemeldet sein. Schließen Sie die Verbindung mit dem Befehl.

Ausfahrt

Synchronisieren Sie Ihre Dateien

Jetzt testen rsync um beispielsweise Ihr Dokumentenverzeichnis auf Ihrem lokalen PC zu synchronisieren, führen Sie den folgenden Befehl aus:

rsync -avz --progress ~/Documents/ backup_server:~/Documents

Das erste Auftreten von ~/Dokumente/ gibt die zu synchronisierende lokale Datei oder das Verzeichnis an, Sicherungsserver entspricht dem Eintrag, der dem hinzugefügt wurde ~/.ssh/config Datei und die Endung :~/Dokumente legt einfach fest, dass alles relativ zum Home-Verzeichnis in das /Documents-Verzeichnis des Remote-Servers hochgeladen wird.

Melden Sie sich beim Remote-Server an, und Sie sollten ein neues Dokumentenverzeichnis sehen, das mit dem Ihres lokalen PCs synchronisiert ist. Jedes Mal, wenn Sie den obigen Befehl ausführen, werden nur Dateien hochgeladen, die seit dem letzten Mal geändert wurden, sodass Sie nicht ständig den gesamten Inhalt des Verzeichnisses hochladen.

Automatisieren über Crontab

Nachdem alles getestet wurde und ordnungsgemäß funktioniert, können wir den gesamten Prozess einfach automatisieren, indem wir unserem lokalen PC einen crontab-Job hinzufügen. Um Ihren lokalen Ordner alle 15 Minuten automatisch mit dem Remote-Server zu synchronisieren, führen Sie im Terminal den Befehl aus.

(crontab-l; echo "*/15 * * * * rsync -avz --progress ~/Documents/ backup_server:~/Documents > /dev/null 2>&1";) | crontab

Möglicherweise erhalten Sie die Meldung "kein crontab für Benutzer" und können sie einfach ignorieren. Ändere das Unterlagen Verzeichnis auf das, was Sie sichern möchten, aber stellen Sie sicher, dass Sie einen nachgestellten Schrägstrich für Verzeichnisse lassen, da sie sonst nicht ordnungsgemäß gesichert werden.

Überprüfen Sie, ob der crontab-Job erfolgreich mit dem Befehl hinzugefügt wurde.

crontab -l

Wenn Sie den soeben hinzugefügten crontab-Job sehen, ist alles vorhanden. Warten Sie 15 Minuten, überprüfen Sie Ihren Remote-Server und alle erforderlichen Dateien sollten dort sein. Ab sofort werden alle an Ihren Dateien vorgenommenen Änderungen alle 15 Minuten automatisch auf den Remote-Server hochgeladen.

Vom Remote-Server herunterladen

Sie können auch verwenden rsync um Dateien vom Remote-Server herunterzuladen und mit Ihrem lokalen PC zu synchronisieren. Führen Sie im obigen Beispiel für das Verzeichnis /Documents im Terminal den Befehl aus:

rsync -chavzP backup_server:~/Documents/ ~/Documents

Die ~./Dokumente Das Verzeichnis auf Ihrem lokalen PC sollte nun ein Spiegelbild des Remote-Servers sein.

Muster ein- und ausschließen

Wenn Sie jemals nur Dateien synchronisieren müssen, die einem bestimmten Muster entsprechen, z .html du kannst den... benutzen --enthalten Muster. Führen Sie im Terminal den Befehl aus.

rsync -avz --include "*.html" --progress ~/mysite/ backup_server:~/public_html

Überprüfen Sie den Remote-Server, und Sie werden sehen, dass nur Dateien mit der Erweiterung .html aus dem lokalen /mysite/-Verzeichnis in das /public_html/-Remote-Verzeichnis hochgeladen wurden. Ebenso können Sie alles außer bestimmten Dateien mit dem --ausschließen Möglichkeit. Der folgende Befehl synchronisiert beispielsweise alle Dateien außer denen mit a .TXT Verlängerung.

rsync -avz --exclude "*.txt" --progress ~/mysite/ backup_server:~/public_html

Zwei lokale Verzeichnisse synchronisieren

Bei Bedarf können Sie mit dem Befehl auch zwei lokale Verzeichnisse synchronisieren.

rsync -zvr ~/Quelle/Verzeichnis ~/Ziel/Verzeichnis

Dieser Befehl funktioniert genauso wie beim Synchronisieren mit einem Remote-Server, der einzige Unterschied besteht darin, dass es sich um zwei lokale Verzeichnisse handelt.

Ruhig schlafen

Sie können jetzt erleichtert aufatmen, da Sie wissen, dass Ihre Wahrscheinlichkeit eines Datenverlusts jetzt erheblich geringer ist. In diesem Artikel haben Sie gelernt, was rsync ist, wie man einen SSH-Schlüssel generiert und installiert, einen Server innerhalb der ~./.ssh/config Datei, synchronisieren Sie ein lokales und ein entferntes Verzeichnis und automatisieren Sie den gesamten Prozess über crontab. In Zukunft werden alle erforderlichen Dateien immer mit nur 15 Minuten Verzögerung mit Ihrem Remote-Server synchronisiert.

Email
So klonen Sie Ihre Linux-Festplatte: 4 Methoden

Müssen Sie Ihre Linux-Festplatte oder -Partition klonen? Verwenden Sie eines dieser Tools zum Klonen von Laufwerken, um Ihre Linux-Festplatte zu klonen.

Verwandte Themen
  • Linux
  • Datensicherung
  • Linux
  • Datensicherung in der Cloud
  • Heimnetzwerk
Über den Autor
Matt Dizak (13 veröffentlichte Artikel)Mehr von Matt Dizak

Abonniere unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.