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
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: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.
Müssen Sie Ihre Linux-Festplatte oder -Partition klonen? Verwenden Sie eines dieser Tools zum Klonen von Laufwerken, um Ihre Linux-Festplatte zu klonen.
- Linux
- Datensicherung
- Linux
- Datensicherung in der Cloud
- Heimnetzwerk
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.