Das Handbuch für Nicht-Anfänger zum Synchronisieren von Daten mit Rsync

Feb 11, 2025
Privatsphäre und Sicherheit
UNCACHED INHALT

Das rsync-Protokoll kann für normale Sicherungs- / Synchronisierungsjobs recht einfach zu verwenden sein, aber einige seiner erweiterten Funktionen können Sie überraschen. In diesem Artikel werden wir zeigen, wie selbst die größten Datenhorter und Backup-Enthusiasten rsync als eine einzige Lösung für alle ihre Datenredundanzanforderungen einsetzen können.

Warnung: Nur für fortgeschrittene Geeks

Wenn Sie dort sitzen und denken: "Was zum Teufel ist Rsync?" oder "Ich verwende rsync nur für wirklich einfache Aufgaben". Vielleicht möchten Sie unseren vorherigen Artikel über lesen Verwendung von rsync zum Sichern Ihrer Daten unter Linux Hier finden Sie eine Einführung in rsync, werden durch die Installation geführt und die grundlegenderen Funktionen vorgestellt. Sobald Sie sich mit der Verwendung von rsync vertraut gemacht haben (ehrlich gesagt ist es nicht so komplex) und mit einem Linux-Terminal vertraut sind, können Sie mit dieser erweiterten Anleitung fortfahren.

Ausführen von rsync unter Windows

Lassen Sie uns zunächst unsere Windows-Reader auf dieselbe Seite wie unsere Linux-Gurus bringen. Obwohl rsync für die Ausführung auf Unix-ähnlichen Systemen entwickelt wurde, gibt es keinen Grund, warum Sie es unter Windows nicht genauso einfach verwenden sollten. Cygwin produziert eine wunderbare Linux-API, mit der wir rsync ausführen können. Gehen Sie also zu ihrer Website und laden Sie die herunter 32-Bit oder 64-Bit Version, abhängig von Ihrem Computer.

Die Installation ist unkompliziert. Sie können alle Optionen auf ihren Standardwerten belassen, bis Sie zum Bildschirm "Pakete auswählen" gelangen.

Jetzt müssen Sie die gleichen Schritte für Vim und SSH ausführen, aber die Pakete sehen etwas anders aus, wenn Sie sie auswählen. Hier sind einige Screenshots:

Vim installieren:

SSH installieren:

Nachdem Sie diese drei Pakete ausgewählt haben, klicken Sie weiter, bis Sie die Installation abgeschlossen haben. Anschließend können Sie Cygwin öffnen, indem Sie auf das Symbol klicken, das das Installationsprogramm auf Ihrem Desktop platziert hat.

rsync-Befehle: Einfach bis erweitert

Nachdem sich die Windows-Benutzer auf derselben Seite befinden, werfen wir einen Blick auf einen einfachen rsync-Befehl und zeigen, wie die Verwendung einiger erweiterter Switches ihn schnell komplex machen kann.

Nehmen wir an, Sie haben eine Reihe von Dateien, die gesichert werden müssen - wer tut dies heutzutage nicht? Sie schließen Ihre tragbare Festplatte an, um die Dateien Ihres Computers zu sichern, und geben den folgenden Befehl aus:

rsync -a / home / geek / files / / mnt / usb / files /

Oder wie es auf einem Windows-Computer mit Cygwin aussehen würde:

rsync -a / cygdrive / c / files / / cygdrive / e / files /

Ziemlich einfach, und zu diesem Zeitpunkt ist es wirklich nicht erforderlich, rsync zu verwenden, da Sie die Dateien einfach per Drag & Drop verschieben können. Wenn Ihre andere Festplatte jedoch bereits einige der Dateien enthält und nur die aktualisierten Versionen sowie die Dateien benötigt, die seit der letzten Synchronisierung erstellt wurden, ist dieser Befehl praktisch, da nur die neuen Daten an die Festplatte gesendet werden. Bei großen Dateien und insbesondere beim Übertragen von Dateien über das Internet ist das eine große Sache.

Das Sichern Ihrer Dateien auf einer externen Festplatte und das anschließende Speichern der Festplatte am selben Speicherort wie Ihr Computer ist eine sehr schlechte Idee. Schauen wir uns also an, was erforderlich ist, um Ihre Dateien über das Internet an einen anderen Computer zu senden ( eine, die Sie gemietet haben, die eines Familienmitglieds usw.).

rsync -av --delete -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Mit dem obigen Befehl werden Ihre Dateien an einen anderen Computer mit der IP-Adresse 10.1.1.1 gesendet. Es löscht fremde Dateien aus dem Ziel, die nicht mehr im Quellverzeichnis vorhanden sind, gibt die übertragenen Dateinamen aus, damit Sie eine Vorstellung davon haben, was los ist, und tunnelt rsync über SSH auf Port 12345.

Das -а -в -е --делете Schalter sind einige der grundlegendsten und am häufigsten verwendeten; Wenn Sie dieses Tutorial lesen, sollten Sie bereits viel über sie wissen. Lassen Sie uns einige andere Schalter durchgehen, die manchmal ignoriert werden, aber unglaublich nützlich sind:

--Fortschritt - Mit diesem Schalter können wir den Übertragungsfortschritt jeder Datei sehen. Dies ist besonders nützlich, wenn Sie große Dateien über das Internet übertragen, kann jedoch eine sinnlose Menge an Informationen ausgeben, wenn Sie nur kleine Dateien über ein schnelles Netzwerk übertragen.

Ein rsync-Befehl mit dem --Fortschritt Wechsel als Backup wird ausgeführt:

--teilweise - Dies ist ein weiterer Schalter, der besonders nützlich ist, wenn Sie große Dateien über das Internet übertragen. Wenn rsync während einer Dateiübertragung aus irgendeinem Grund unterbrochen wird, wird die teilweise übertragene Datei im Zielverzeichnis gespeichert und die Übertragung wird dort fortgesetzt, wo sie aufgehört hat, sobald der Befehl rsync erneut ausgeführt wird. Wenn Sie große Dateien über das Internet übertragen (z. B. ein paar Gigabyte), gibt es nichts Schlimmeres als ein paar Sekunden Internetausfall, Bluescreen oder menschliches Versagen, das Ihre Dateiübertragung auslöst und von vorne beginnen muss.

-P - Dieser Schalter kombiniert --Fortschritt und --teilweise Verwenden Sie es stattdessen und Ihr rsync-Befehl wird dadurch etwas übersichtlicher.

-mit oder --Kompresse - Mit diesem Schalter komprimiert rsync die Datendaten während der Übertragung und reduziert so die Datenmenge, die an das Ziel gesendet werden muss. Es ist eigentlich ein ziemlich häufiger Wechsel, aber alles andere als wichtig, da er Ihnen nur bei Übertragungen zwischen langsamen Verbindungen wirklich zugute kommt, und er tut nichts für die folgenden Dateitypen: 7z, avi, bz2, deb, g, z iso, jpeg, jpg, mov, mp3, mp4, ogg, rpm, tbz, tgz, z, zip.

-h oder --für Menschen lesbar - Wenn Sie das verwenden --Fortschritt Schalter, Sie werden diesen auf jeden Fall auch verwenden wollen. Das heißt, es sei denn, Sie möchten Bytes im laufenden Betrieb in Megabyte konvertieren. Das -h switch konvertiert alle ausgegebenen Zahlen in ein für Menschen lesbares Format, sodass Sie die übertragene Datenmenge tatsächlich nachvollziehen können.

-n oder --Probelauf - Dieser Schalter ist wichtig, um zu wissen, wann Sie Ihr rsync-Skript zum ersten Mal schreiben und testen. Es führt einen Probelauf durch, nimmt jedoch keine Änderungen vor. Die potenziellen Änderungen werden weiterhin wie gewohnt ausgegeben, sodass Sie alles lesen und sicherstellen können, dass es in Ordnung aussieht, bevor Sie Ihr Skript in die Produktion einbinden.

-R oder --relativ - Dieser Schalter muss verwendet werden, wenn das Zielverzeichnis noch nicht vorhanden ist. Wir werden diese Option später in diesem Handbuch verwenden, damit wir Verzeichnisse auf dem Zielcomputer mit Zeitstempeln in den Ordnernamen erstellen können.

--ausgeschlossen von - Mit diesem Schalter wird eine Verknüpfung zu einer Ausschlussliste hergestellt, die Verzeichnispfade enthält, die nicht gesichert werden sollen. Es wird lediglich eine Nur-Text-Datei mit einem Verzeichnis oder Dateipfad in jeder Zeile benötigt.

--include-from - Ähnlich zu --ausgeschlossen von Es wird jedoch eine Verknüpfung zu einer Datei hergestellt, die Verzeichnisse und Dateipfade von Daten enthält, die gesichert werden sollen.

--Statistiken - Auf keinen Fall ein wirklich wichtiger Switch, aber wenn Sie ein Systemadministrator sind, kann es hilfreich sein, die detaillierten Statistiken der einzelnen Backups zu kennen, damit Sie den Datenverkehr überwachen können, der über Ihr Netzwerk und dergleichen gesendet wird.

--Logdatei - Auf diese Weise können Sie die rsync-Ausgabe an eine Protokolldatei senden. Wir empfehlen dies auf jeden Fall für automatisierte Sicherungen, bei denen Sie nicht da sind, um die Ausgabe selbst zu lesen. Geben Sie Protokolldateien in Ihrer Freizeit immer noch einmal durch, um sicherzustellen, dass alles ordnungsgemäß funktioniert. Außerdem ist dies ein entscheidender Schalter für einen Systemadministrator, sodass Sie sich nicht fragen müssen, wie Ihre Sicherungen fehlgeschlagen sind, während Sie den verantwortlichen Praktikanten verlassen haben.

Werfen wir einen Blick auf unseren Befehl rsync, nachdem wir einige weitere Schalter hinzugefügt haben:

rsync -avzhP --delete --stats --log-file = / home / geek / rsynclogs / backup.log --exclude-from '/home/geek/exclude.txt' -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files /

Der Befehl ist immer noch recht einfach, aber wir haben noch keine anständige Sicherungslösung erstellt. Obwohl sich unsere Dateien jetzt an zwei verschiedenen physischen Speicherorten befinden, schützt uns diese Sicherung nicht vor einer der Hauptursachen für Datenverlust: menschliches Versagen.

Snapshot-Backups

Wenn Sie versehentlich eine Datei löschen, ein Virus Ihre Dateien beschädigt oder etwas anderes passiert, wodurch Ihre Dateien unerwünscht geändert werden und Sie dann Ihr rsync-Sicherungsskript ausführen, werden Ihre gesicherten Daten mit den unerwünschten Änderungen überschrieben. Wenn so etwas auftritt (nicht wenn, sondern wann), hat Ihre Sicherungslösung nichts unternommen, um Sie vor Datenverlust zu schützen.

Der Schöpfer von rsync erkannte dies und fügte hinzu --backup und --backup-dir Argumente, damit Benutzer differenzielle Sicherungen ausführen können. Genau dieses erstes Beispiel auf der Website von rsync Zeigt ein Skript an, in dem alle sieben Tage eine vollständige Sicherung ausgeführt wird. Anschließend werden die Änderungen an diesen Dateien täglich in separaten Verzeichnissen gesichert. Das Problem bei dieser Methode ist, dass Sie Ihre Dateien sieben Mal effektiv wiederherstellen müssen, um sie wiederherzustellen. Darüber hinaus führen die meisten Geeks ihre Backups mehrmals am Tag durch, sodass Sie jederzeit problemlos über 20 verschiedene Backup-Verzeichnisse haben können. Das Wiederherstellen Ihrer Dateien ist jetzt nicht nur ein Problem, sondern auch das Durchsuchen Ihrer gesicherten Daten kann sehr zeitaufwändig sein. Sie müssen wissen, wann eine Datei zuletzt geändert wurde, um die letzte gesicherte Kopie zu finden. Darüber hinaus ist es ineffizient, nur wöchentliche (oder in einigen Fällen sogar seltener) inkrementelle Sicherungen durchzuführen.

Schnappschuss-Backups zur Rettung! Snapshot-Sicherungen sind nichts anderes als inkrementelle Sicherungen, verwenden jedoch Hardlinks, um die Dateistruktur der ursprünglichen Quelle beizubehalten. Es kann zunächst schwierig sein, den Kopf herumzureißen. Schauen wir uns also ein Beispiel an.

Stellen Sie sich vor, wir führen ein Sicherungsskript aus, das unsere Daten alle zwei Stunden automatisch sichert. Wann immer rsync dies tut, benennt es jedes Backup im Format: Backup-Monat-Tag-Jahr-Zeit.

Am Ende eines typischen Tages haben wir also eine Liste von Ordnern in unserem Zielverzeichnis wie folgt:

Wenn Sie eines dieser Verzeichnisse durchlaufen, wird jede Datei aus dem Quellverzeichnis genau so angezeigt, wie sie zu diesem Zeitpunkt war. Es würde jedoch keine Duplikate in zwei Verzeichnissen geben. rsync erreicht dies mit der Verwendung von Hardlinking durch die --link-dest=DIR Streit.

Um diese gut und ordentlich datierten Verzeichnisnamen zu erhalten, müssen wir natürlich unser rsync-Skript ein wenig verbessern. Schauen wir uns an, was erforderlich ist, um eine solche Sicherungslösung zu erstellen, und erläutern dann das Skript ausführlicher:

#!/bin/bash

#copy old time.txt to time2.txt

ja | cp ~ / backup / time.txt ~ / backup / time2.txt

# alte time.txt-Datei mit neuer Zeit überschreiben

echo `date +”% F-% I% p ”`> ~ / backup / time.txt

# Erstellen Sie die Protokolldatei

echo ""> ~ / backup / rsync-`date + "% F-% I% p" `.log

Befehl #rsync

rsync -avzhPR --chmod = Du = rwx, Dgo = rx, Fu = rw, Fgo = r --delete --stats --log-file = ~ / backup / rsync-`date + ”% F-% I% p ”` .log --exclude-from '~ / exclude.txt' --link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt` -e 'ssh -p 12345' / home / geek / files / [email protected]: / home / geek2 / files / `date +”% F-% I% p ”` /

# Vergessen Sie nicht, die Protokolldatei zu scpen und zusammen mit dem Backup zu speichern

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

Das wäre ein typisches Snapshot-Rsync-Skript. Falls wir Sie irgendwo verloren haben, zerlegen wir es Stück für Stück:

Die erste Zeile unseres Skripts kopiert den Inhalt von time.txt nach time2.txt. Die Ja-Pipe soll bestätigen, dass wir die Datei überschreiben möchten. Als nächstes nehmen wir die aktuelle Zeit und setzen sie in time.txt. Diese Dateien werden später nützlich sein.

In der nächsten Zeile wird die rsync-Protokolldatei mit dem Namen rsync-date.log erstellt (wobei Datum das tatsächliche Datum und die Uhrzeit ist).

Nun der komplexe Befehl rsync, vor dem wir Sie gewarnt haben:

-avzhPR, -e, --delete, --stats, --log-file, --exclude-from, --link-dest - Nur die Schalter, über die wir zuvor gesprochen haben; Scrollen Sie nach oben, wenn Sie eine Auffrischung benötigen.

--- ch ist auch d = zu = rwx, D go = rx, fu = rw, F go = r - Dies sind die Berechtigungen für das Zielverzeichnis. Da wir dieses Verzeichnis in der Mitte unseres rsync-Skripts erstellen, müssen wir die Berechtigungen angeben, damit unser Benutzer Dateien darauf schreiben kann.

Die Verwendung von Datums- und Katzenbefehlen

Wir werden jede Verwendung der Befehle date und cat im Befehl rsync in der Reihenfolge durchgehen, in der sie auftreten. Hinweis: Wir sind uns bewusst, dass es andere Möglichkeiten gibt, diese Funktionalität zu erreichen, insbesondere bei der Verwendung deklarierender Variablen. Für den Zweck dieses Handbuchs haben wir uns jedoch für diese Methode entschieden.

Die Protokolldatei wird wie folgt angegeben:

~ / backup / rsync-`date + ”% F-% I% p” `.log

Alternativ hätten wir es wie folgt spezifizieren können:

~ / backup / rsync-`cat ~ / backup / time.txt`.log

So oder so, die --Logdatei Der Befehl sollte in der Lage sein, die zuvor erstellte datierte Protokolldatei zu finden und in diese zu schreiben.

Die Link-Zieldatei wird wie folgt angegeben:

--link-dest = / home / geek2 / files / `cat ~ / backup / time2.txt`

Dies bedeutet, dass die --link-dest Befehl erhält das Verzeichnis der vorherigen Sicherung. Wenn wir alle zwei Stunden Backups ausführen und es zum Zeitpunkt der Ausführung dieses Skripts 16:00 Uhr ist, wird die --link-dest Der Befehl sucht nach dem um 14:00 Uhr erstellten Verzeichnis und überträgt nur die Daten, die sich seitdem geändert haben (falls vorhanden).

Um es noch einmal zu wiederholen, deshalb wird time.txt am Anfang des Skripts nach time2.txt kopiert --link-dest Befehl kann diese Zeit später referenzieren.

Das Zielverzeichnis wird wie folgt angegeben:

[email protected]: / home / geek2 / files / `date +”% F-% I% p ”`

Dieser Befehl legt die Quelldateien einfach in einem Verzeichnis ab, das den Titel des aktuellen Datums und der aktuellen Uhrzeit enthält.

Schließlich stellen wir sicher, dass eine Kopie der Protokolldatei in der Sicherung abgelegt wird.

scp -P 12345 ~ / backup / rsync-`cat ~ / backup / time.txt`.log [email protected]: / home / geek2 / files / `cat ~ / backup / time.txt` / rsync-`cat ~ / backup / time.txt`.log

Wir verwenden eine sichere Kopie an Port 12345, um das rsync-Protokoll zu erstellen und im richtigen Verzeichnis abzulegen. Um die richtige Protokolldatei auszuwählen und sicherzustellen, dass sie an der richtigen Stelle landet, muss auf die Datei time.txt über den Befehl cat verwiesen werden. Wenn Sie sich fragen, warum wir uns für cat time.txt entschieden haben, anstatt nur den Befehl date zu verwenden, liegt dies daran, dass möglicherweise viel Zeit vergangen ist, während der Befehl rsync ausgeführt wurde. Um sicherzustellen, dass wir die richtige Zeit haben, haben wir nur cat das zuvor erstellte Textdokument.

Automatisierung

Verwenden Cron on Linux oder Taskplaner unter Windows um Ihr rsync-Skript zu automatisieren. Eine Sache, auf die Sie achten müssen, ist sicherzustellen, dass Sie alle aktuell ausgeführten rsync-Prozesse beenden, bevor Sie einen neuen fortsetzen. Der Taskplaner scheint bereits laufende Instanzen automatisch zu schließen, aber für Linux müssen Sie etwas kreativer sein.

Die meisten Linux-Distributionen können den Befehl pkill verwenden. Fügen Sie daher am Anfang Ihres rsync-Skripts Folgendes hinzu:

pkill -9 rsync

Verschlüsselung

Nein, wir sind noch nicht fertig. Wir haben endlich eine fantastische (und kostenlose!) Backup-Lösung, aber alle unsere Dateien sind immer noch anfällig für Diebstahl. Hoffentlich sichern Sie Ihre Dateien an einem Ort, der Hunderte von Kilometern entfernt ist. Egal wie sicher dieser weit entfernte Ort ist, Diebstahl und Hacking können immer Probleme sein.

In unseren Beispielen haben wir den gesamten Rsync-Verkehr über SSH getunnelt, sodass alle unsere Dateien während der Übertragung zu ihrem Ziel verschlüsselt werden. Wir müssen jedoch sicherstellen, dass das Ziel genauso sicher ist. Beachten Sie, dass rsync Ihre Daten nur während der Übertragung verschlüsselt, die Dateien jedoch weit geöffnet sind, sobald sie ihr Ziel erreichen.

Eine der besten Funktionen von rsync ist, dass nur die Änderungen in jeder Datei übertragen werden. Wenn Sie alle Ihre Dateien verschlüsselt haben und eine geringfügige Änderung vornehmen, muss die gesamte Datei erneut übertragen werden, da die Verschlüsselung nach jeder Änderung alle Daten vollständig zufällig sortiert.

Aus diesem Grund ist es am besten / einfachsten, eine Art Festplattenverschlüsselung zu verwenden, z BitLocker für Windows oder dm-crypt für Linux. Auf diese Weise werden Ihre Daten im Falle eines Diebstahls geschützt. Dateien können jedoch mit rsync übertragen werden, und Ihre Verschlüsselung beeinträchtigt die Leistung nicht. Es gibt andere Optionen, die ähnlich wie rsync funktionieren oder sogar irgendeine Form davon implementieren, wie z. B. Duplicity, aber ihnen fehlen einige der Funktionen, die rsync bietet.

Nachdem Sie Ihre Snapshot-Backups an einem externen Standort eingerichtet und Ihre Quell- und Zielfestplatten verschlüsselt haben, sollten Sie sich auf den Rücken klopfen, um Rsync zu beherrschen und die narrensicherste Datensicherungslösung zu implementieren, die möglich ist.

.eintragsinhalt .Eintrittsfußzeile

How To Automatically Backup Data On Linux Using "rsync"

Ubuntu Server 18.04 Administration Guide Part 14 - Transferring Files With Rsync

Rsync For Windows 10

How To Backup And Encrypt Data Using Rsync And VeraCrypt On MacOS (see Change Log)

Rsync Backup On Linux

How To Copy & Transfer Data From Netgear ReadyNAS To Another NAS [Backup Using RSync]


Privatsphäre und Sicherheit - Die beliebtesten Artikel

So wählen Sie aus, welche Informationen in Chrome synchronisiert werden sollen

Privatsphäre und Sicherheit Apr 26, 2025

Google hat kürzlich die Art und Weise geändert, in der Sie Ihre synchronisierten Daten in Chrome anzeigen. Sie können jedoch weiterhin Lesezeichen, Kennwörter, Themen, Erweiteru..


Verbessert öffentlich beschämende Unternehmen die Sicherheit?

Privatsphäre und Sicherheit Sep 11, 2025

UNCACHED INHALT Man könnte meinen, Sicherheitsteams in großen Unternehmen hassen es, wenn Forscher und die Presse auf Schwachstellen hinweisen, aber das ist nicht immer der Fall..


Was ist der „verlorene Modus“ auf dem iPhone, iPad oder Mac?

Privatsphäre und Sicherheit Jul 19, 2025

Wenn Sie jemals Ihr iPhone, iPad, Mac oder Ihre Apple Watch verlieren, sollten Sie es in den „Verlorenen Modus“ versetzen. Der verlorene Modus sperrt Ihr Gerät, um Ihre persön..


Wie funktioniert die Wärmebildtechnik?

Privatsphäre und Sicherheit Feb 22, 2025

Wenn Sie jemals Fotos oder Videos gesehen haben, bei denen alles rot und gelb ist, heißt das Thermografie - umgangssprachlich als Wärmebild bekannt. So funktioniert..


So installieren und richten Sie die SkyBell HD Video-Türklingel ein

Privatsphäre und Sicherheit Sep 26, 2025

UNCACHED INHALT Das Skibel-Grenze ist eine Video-Türklingel, mit der Sie direkt von Ihrem Smartphone aus sehen können, wer an der Tür steht, und sogar mit ihnen ..


So verwalten Sie mehrere Benutzerkonten auf einem einzelnen Chromebook

Privatsphäre und Sicherheit Aug 4, 2025

Chromebooks sind billige, mäßig leistungsstarke und benutzerfreundliche Laptops, die bei Verbrauchern, die eine zweite Maschine suchen, die sie unterwegs mitnehmen können, sehr b..


Die Firewall Ihres Mac ist standardmäßig deaktiviert: Müssen Sie sie aktivieren?

Privatsphäre und Sicherheit Jul 10, 2025

Mac OS X wird mit einer integrierten Firewall geliefert, die jedoch standardmäßig nicht aktiviert ist. Die Windows-Firewall ist standardmäßig aktiviert, seit Würmer wie Blaster..


Die WPA2-Verschlüsselung Ihres Wi-Fi kann offline geknackt werden: So geht's

Privatsphäre und Sicherheit Jul 12, 2025

Wenn es um die Sicherung Ihres Wi-Fi-Netzwerks geht, Wir empfehlen immer die WPA2-PSK-Verschlüsselung . Dies ist die einzig wirklich effektive Möglichkeit, den Zugr..


Kategorien