Dateien synchron halten mit "Sync Folders Pro" für den Mac - Sevens App Blog
Inhaltsverzeichnis:
- Bevor Sie beginnen
- Eine bestimmte Datei ausschließen
- Ein bestimmtes Verzeichnis ausschließen
- Schließen Sie mehrere Dateien oder Verzeichnisse aus
- Schließen Sie mehrere Dateien oder Verzeichnisse basierend auf einem Muster aus
- Fazit
Rsync ist ein schnelles und vielseitiges Befehlszeilenprogramm, das Dateien und Ordner zwischen zwei Standorten über eine Remote-Shell synchronisiert.
Mit Rsync können Sie Daten spiegeln, inkrementelle Sicherungen erstellen und Dateien zwischen Systemen kopieren. Möglicherweise möchten Sie beim Kopieren von Daten eine oder mehrere Dateien oder Verzeichnisse anhand ihres Namens oder Speicherorts ausschließen.
In diesem Tutorial zeigen wir Ihnen, wie Sie Dateien und Verzeichnisse mit rsync ausschließen können.
Bevor Sie beginnen
Sie sollten über Grundkenntnisse in der Funktionsweise von rsync verfügen.
In den folgenden Beispielen wird rsync mit der Option
-a
, verwendet. Dadurch wird rsync angewiesen, Verzeichnisse rekursiv zu synchronisieren, spezielle Geräte zu übertragen und Geräte zu blockieren und symbolische Links, Änderungszeiten, Gruppen-, Besitz- und Berechtigungen beizubehalten.
Wenn Sie Dateien oder Verzeichnisse ausschließen, müssen Sie ihre relativen Pfade zum Quellverzeichnis verwenden.
Es gibt zwei Optionen, um die Dateien und Verzeichnisse anzugeben, die Sie ausschließen möchten:
- Verwenden Sie in einer Befehlszeile die
--exclude
--exclude.--exclude
Sie in einer Datei die Option--exclude-from
.
Eine bestimmte Datei ausschließen
--exclude
zum Ausschließen einer bestimmten Datei den relativen Pfad zur Datei an die Option
--exclude
.
Im folgenden Beispiel wird die Datei
src_directory/file.txt
nicht übertragen:
rsync -a --exclude 'file.txt' src_directory/ dst_directory/
Ein bestimmtes Verzeichnis ausschließen
Das Ausschließen eines bestimmten Verzeichnisses entspricht dem Ausschließen einer Datei.
--exclude
einfach den relativen Pfad zum Verzeichnis an die Option
--exclude
(siehe unten):
rsync -a --exclude 'dir1' src_directory/ dst_directory/
rsync -a --exclude 'dir1/*' src_directory/ dst_directory/
Schließen Sie mehrere Dateien oder Verzeichnisse aus
Um mehrere Dateien oder Verzeichnisse auszuschließen, geben
--exclude
einfach mehrere
--exclude
Optionen an:
rsync -a --exclude 'file1.txt' --exclude 'dir1/*' --exclude 'dir2' src_directory/ dst_directory/
rsync -a --exclude={'file1.txt', 'dir1/*', 'dir2'} src_directory/ dst_directory/
Wenn die Anzahl der Dateien und / oder Verzeichnisse, die Sie ausschließen möchten, groß ist, können Sie anstelle mehrerer
--exclude
Optionen die Dateien und Verzeichnisse angeben, die Sie in einer Datei ausschließen möchten, und die Datei an
--exclude-from
Möglichkeit.
Der Befehl unten macht genau das Gleiche wie der obige:
rsync -a --exclude-from='exclude-file.txt' src_directory/ dst_directory/
exclude-file.txt
Schließen Sie mehrere Dateien oder Verzeichnisse basierend auf einem Muster aus
Mit rsync können Sie auch Dateien und Verzeichnisse ausschließen, die auf einem Muster basieren, das mit dem Datei- oder Verzeichnisnamen übereinstimmt.
Um beispielsweise alle
.jpg
Dateien auszuschließen, die Sie ausführen würden:
rsync -a --exclude '*.jpg*' src_directory/ dst_directory/
Es ist etwas schwieriger, alle anderen Dateien und Verzeichnisse mit Ausnahme derjenigen, die einem bestimmten Muster entsprechen, auszuschließen. Angenommen, Sie möchten alle anderen Dateien und Verzeichnisse mit Ausnahme der Dateien mit der Endung
.jpg
.
Eine Möglichkeit besteht darin, den folgenden Befehl zu verwenden:
rsync -a -m --include='*.jpg' --include='*/' --exclude='*' src_directory/ dst_directory/
Bei Verwendung mehrerer Einschluss- / Ausschlussoptionen gilt die erste Übereinstimmungsregel.
-
--include='*.jpg'
.jpg
--include='*.jpg'
- Zuerst werden alle.jpg
Dateien eingeschlossen.--include='*/'
- Dann schließen wir alle Verzeichnisse in das Verzeichnis insrc_directory
. Ohne diese Option kopiert rsync nur*.jpg
Dateien in das oberste Verzeichnis.-m
- Entfernt die leeren Verzeichnisse.
Eine andere Möglichkeit wäre, die Ausgabe des Befehls find an rsync weiterzuleiten:
find src_directory/ -name "*.jpg" -printf %P\\0\\n | rsync -a --files-from=- src_directory/ dst_directory/
-
-printf %P\\0\\n
- entfernt dassrc_directory/
aus dem Dateipfad.--files-from=-
- bedeutet, dass nur die Dateien der Standardeingabe enthalten sind (Dateien, die vom Befehl find übergeben wurden).
Fazit
In diesem Lernprogramm haben Sie gelernt, wie Sie Dateien und Verzeichnisse beim Übertragen von Daten mit Rsync ausschließen. Weitere Informationen zu Rsync finden Sie auf der Seite Rsync-Benutzerhandbuch.
Konvertieren Sie Office-Dateien in PDF- und XPS-Dateien und verwalten Sie sie mit gdoc
Erfahren Sie, wie Sie mit gDoc Microsoft Office-Dokumente wie Word, PowerPoint und Excel schnell und einfach in PDF- und XPS-Dateien konvertieren
So kopieren Sie Dateien und Verzeichnisse unter Linux
Das Kopieren von Dateien und Verzeichnissen ist eine der häufigsten Aufgaben, die Sie bei der Arbeit an der Befehlszeile ausführen. Unter Linux gibt es mehrere Befehle zum Kopieren von Dateien, wobei cp und rsync die am häufigsten verwendeten Tools sind.
So entfernen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile
In diesem Tutorial zeigen wir Ihnen anhand von Beispielen und Erklärungen der gebräuchlichsten rm-Optionen, wie Sie mit dem Befehl rm Dateien und Verzeichnisse entfernen.