So verwenden Sie den Befehl rsync, um Dateien auf Ubuntu zu kopieren

So verwenden Sie den Befehl rsync, um Dateien auf Ubuntu zu kopieren
rsync ist ein Tool zum Kopieren von Dateien. RSYNC wird verwendet, um Dateien von Ihrem Computer auf einen Remote -Computer, von einem Remote -Computer zu Ihrem Computer, von einem Verzeichnis zu einem anderen Verzeichnis auf demselben Computer zu kopieren, von Ihrem Computer zu einer externen Festplatte oder Netzwerkfreigabe usw. RSYNC kann auch verwendet werden, um inkrementelle Sicherungen zu ergreifen.

In diesem Artikel werde ich Ihnen zeigen, wie Sie den Befehl rsync verwenden, um Dateien und Verzeichnisse zu kopieren und inkrementelle Sicherungen zu ergreifen. Ich werde Ubuntu für die Demonstration verwenden. Aber jede moderne Linux -Verteilung sollte gut funktionieren. Also lasst uns anfangen.

Installieren von RSYNC:

RSYNC sollte bereits auf Ubuntu installiert werden. Wenn es jedoch aus irgendeinem Grund auf Ihrem Computer nicht installiert ist, können Sie es einfach über das offizielle Paket -Repository von Ubuntu mit dem folgenden Befehl installieren:

$ sudo apt installieren rsync -y

Format des RSYNC -Befehls:

Das Grundformat des Befehls rsync ist,

$ rsync Optionen Quellziel
  • Quelle Kann eine Datei oder ein Verzeichnis oder ein Netzwerkpfad sein.
  • Ziel Kann ein Verzeichnis oder ein Netzwerkpfad sein.
  • RSYNC hat viele Optionen. Sie können das Verhalten von RSYNC mit diesen Optionen ändern. Wir werden uns auf dem Weg einige der häufigsten Optionen ansehen.

Wenn Sie RSYNC verwenden, müssen Sie die folgenden Dinge wissen:

  • Wenn Sie eine setzen / Nach dem Verzeichnisnamen in der Quelle von rsync wie z meine Akten/, Dann bedeutet dies, alle Dateien im Verzeichnis nur in die zu kopieren Ziel.
  • Wenn Sie keine platzieren / Nach dem Verzeichnisnamen in der Quelle von rsync wie z meine Akten, Dann kopiert RSYNC alle Dateien aus dem Verzeichnis in die Ziel einschließlich des Verzeichnisses.
  • Wenn Sie in a eingeben Ziel Verzeichnispfad, der nicht existiert, erstellt RSYNC ihn automatisch nach Bedarf.

Unterstützung lokaler Dateien und Verzeichnisse mit RSYNC:

Sie können Dateien sehr schnell mit einem Verzeichnis in ein anderes Verzeichnis auf Ihrem Computer kopieren rsync.

Nehmen wir zum Beispiel an, Sie haben einige wichtige Dateien in der ~/Downloads Verzeichnis. Jetzt möchten Sie alle Dateien von der Sicherung sichern ~/Downloads Verzeichnis zu Ihrem USB -Daumenlaufwerk /dev/sdb1 im Verzeichnis montiert /mnt/myusb.

Machen wir einige Dummy -Dateien in der ~/Downloads Verzeichnis.

$ touch ~/downloads/test 1… 100

Kopieren Sie nun alle Dateien aus dem ~/Downloads Verzeichnis an /mnt/myusb Verzeichnis mit dem folgenden RSYNC -Befehl:

$ rsync -avzh ~/downloads//mnt/myusb

Die Dateien sollten kopiert werden.

Wie Sie sehen können, befinden sich die Dateien in der /mnt/myusb Verzeichnis.

Sie können auch das Ganze kopieren ~/Downloads Verzeichnis zu Ihrem USB -Daumenlaufwerk wie folgt:

$ rsync -avzh ~/downloads/mnt/myusb

Wie Sie sehen können, wird das gesamte Verzeichnis auf das USB -Daumenlaufwerk kopiert.

Nochmals, wenn Sie alle Dateien aus dem kopieren wollten ~/Downloads Verzeichnis zu einem anderen Verzeichnis (Sagen wir mydownloads/) Führen Sie auf Ihrem USB -Thumb -Laufwerk RSYNC wie folgt aus:

$ rsync -avzh ~/downloads//mnt/myusb/mydownloads

Wie Sie sehen können, werden die Dateien korrekt auf das USB -Daumenlaufwerk kopiert.

Sichern Sie Remotedateien und Verzeichnisse mit RSYNC:

Mit RSYNC können Sie Dateien und Verzeichnisse von einem Remote -Server auf Ihr lokales Dateisystem oder USB -Daumenantrieb für Sicherungszwecke kopieren. Sie können auch Dateien und Verzeichnisse aus Ihrem lokalen Dateisystem auf Ihren Remote -Sicherungsserver kopieren. RSYNC verwendet SSH zum Kopieren von Dateien und Verzeichnissen auf/vom Remote -Server.

Sie müssen ein SSH -Serverpaket haben (OpenSSH-Server auf Ubuntu) und rsync Paket auf dem Remote -Server installiert, wenn Sie RSYNC für Dateisicherungszwecke verwenden möchten.

Nehmen wir beispielsweise an, Sie möchten alle Inhalte (einschließlich des Verzeichnisses) des /www Verzeichnis von Ihrem Remote -Server www.Beispiel 1.com zu Ihrem USB -Daumenlaufwerk auf dem Weg montiert /mnt/myusb Auf Ihrem lokalen Dateisystem.

Dazu können Sie den folgenden RSYNC -Befehl verwenden:

$ rsync -avzh [email protected] 1.com:/www/mnt/myusb

NOTIZ: Hier, Wurzel ist der fernen Benutzername, www.Beispiel 1.com ist der DNS -Name des Remote -Servers und /www ist ein Verzeichnispfad auf dem Remote -Server. Sie können auch die IP -Adresse des Remote -Servers anstelle des DNS -Namens verwenden, wenn Sie möchten.

Möglicherweise sehen Sie die folgende Nachricht, wenn Sie zum ersten Mal eine Verbindung zum Remote -Server herstellen. Geben Sie einfach ein Ja und dann drücken Sie .

Geben Sie nun das Passwort für den Remote -Benutzer ein (in meinem Fall ist es Wurzel) und drücke .

Alle Dateien und Verzeichnisse in der /www Verzeichnis einschließlich des Verzeichnisses /www sollte auf das USB -Daumenlaufwerk kopiert werden, wie Sie im Screenshot unten sehen können.

Sie können Dateien auch mit RSYNC aus Ihrem lokalen Dateisystem auf Ihren Remote -Server kopieren.

Im früheren Beispiel haben Sie eine Sicherung der /www Verzeichnis auf dem Remote -Server. Nehmen wir nun an, einige der Dateien auf dem Remote -Server sind beschädigt und Sie möchten sie von der Sicherung wiederherstellen.

Führen Sie dazu den Befehl rsync wie folgt aus:

$ rsync -avzh/mnt/myusb/www/[email protected] 1.com:/www

Geben Sie nun das Kennwort Ihres Remote -Servers ein und drücken Sie jetzt .

Die Dateien sollten von Ihrem lokalen Dateisystem auf den Remote -Server kopiert werden.

Inkrementelle Sicherungen mit RSYNC einnehmen:

In dieser Art von Backup die Quelle Und Ziel Verzeichnisse werden synchronisiert gehalten. Wenn eine Datei zu dem hinzugefügt wird Quelle Verzeichnis, es wird zu dem hinzugefügt Ziel Verzeichnis auch. Genauso, wenn eine Datei oder ein Verzeichnis von der Quelle Verzeichnis wird entfernt, es wird von der entfernt Ziel Verzeichnis auch.

RSYNC ist ein großartiges Werkzeug, um inkrementelle Sicherungen zu erhalten.

Sagen wir, Sie haben ein Verzeichnis ~/Cloud in Ihrem Benutzer HEIM Verzeichnis. Jetzt möchten Sie eine inkrementelle Sicherung des Verzeichnisses auf ein USB -Daumenlaufwerk auf dem Weg bringen /mnt/USB1 auf einem Remote -Server Backup.Beispiel.com.

NOTIZ: Du musst haben OpenSSH-Server Und rsync Auf Ihrem Remote -Server installierte Pakete, damit dies funktioniert.

Inkrementelle Sicherungen der ~/Cloud, Führen Sie den folgenden Befehl aus:

$ rsync -avzh --delete -progress ~/ cloud/ [email protected]:/mnt/USB1/Backup

Geben Sie nun das Passwort für Ihren Remote -Benutzer ein und drücken Sie jetzt .

Der Inhalt der ~/Cloud Das Verzeichnis sollte auf den Remote -Server auf das USB -Daumenlaufwerk kopiert werden.

Wie Sie sehen können, werden alle Dateien auf das USB -Daumenlaufwerk auf dem Remote -Backup -Server kopiert.

Entfernen wir nun eine Datei aus dem lokalen Dateisystem und sehen, was passiert.

$ rm ~/cloud/pakete.txt

Verwenden Sie nun RSYNC, um die Verzeichnisse erneut mit dem gleichen Befehl wie zuvor zu synchronisieren.

$ rsync -avzh --delete -progress ~/ cloud/ [email protected]:/mnt/USB1/Backup

Wie Sie sehen können, die Datei Pakete.txt wird auch vom USB -Daumenlaufwerk entfernt, der auf dem Remote -Backup -Server montiert ist.

Wohin als nächstes gehen:

Weitere Informationen zu RSYNC finden Sie auf der Mannseite von RSYNC. Die Mannseite von RSYNC enthält eine detaillierte Beschreibung zu allen Optionen von RSYNC. Ich empfehle Ihnen dringend, das zu überprüfen.

Sie können mit dem folgenden Befehl auf die Mannseite von RSYNC zugreifen:

$ MAN RSYNC

So verwenden Sie RSYNC, um Dateien zu kopieren und inkrementelle Sicherungen auf Ubuntu zu übernehmen. Danke, dass du diesen Artikel gelesen hast.