Befehl rsync zum Ausschluss von Dateien und Verzeichnissen eine ultimative Anleitung
- 2804
- 576
- Madleen Vater
RSYNC ist ein leistungsstarkes Befehlszeilen-Dienstprogramm für UNIX/Linux-Systeme, mit dem Sie Dateien zwischen verschiedenen beiden Systemen synchronisieren und übertragen können. Eine der wichtigsten Funktionen von RSYNC ist die Möglichkeit, Dateien und Verzeichnisse aus dem Synchronisationsprozess auszuschließen. Diese Funktion kann für eine Vielzahl von Aufgaben unglaublich nützlich sein, z. B. Backups, Codebasis -Synchronisation und Datenverwaltung.
In diesem Artikel werden wir eine grundlegende Unterschätzung des Ausschließens von Dateien und Verzeichnissen mit dem RSYNC -Befehlszeilendienstprogramm erhalten. Enthält auch einige nützliche Beispiele mit dieser Funktion.
Dateien und Verzeichnisse mit RSYNC ausschließen
Die grundlegendste Methode zum Ausschluss von Dateien und Verzeichnissen mit RSYNC ist die Verwendung des --ausschließen
Option gefolgt vom Namen der Datei oder des Verzeichnisses, die Sie ausschließen möchten. Zum Beispiel, wenn Sie alle Dateien mit dem ausschließen möchten “.Protokoll" Erweiterung können Sie den folgenden Befehl verwenden:
rsync -av -exclude = '*.Protokoll 'Quelle/ Ziel/ Ziel/
Sie können auch bestimmte Verzeichnisse ausschließen, indem Sie den gesamten Weg wie folgt einbeziehen:
rsync -av -exclude = 'path/to/verzeichnis' Quelle/Ziel/
Alle in der Textdatei geschrieben ausschließen
Eine andere Möglichkeit, Dateien und Verzeichnisse auszuschließen, besteht darin, eine separate Datei mit dem Namen "Datei ausschließen" zu verwenden. Diese Datei enthält eine Liste mit ausgeschlossenen Mustern, eine pro Zeile, und RSYNC liest die Datei und wendet alle darin angegebenen Muster an.
rsync -av -exclude -from = 'ausschließen.txt 'Quelle/ Ziel/ Ziel/
Hier 'ausschließen.txt' Datei mit allen ausgeschlossenen Dateien oder Verzeichnissen enthält
Die Muster in der Ausschlussdatei können ein Shell -Glob sein (e.G., *.Protokoll) oder ein regulärer Ausdruck (wenn der --ausgeschlossen von
Option wird ersetzt durch durch --FROM-FILE ausschließen
).
Sie können auch a verwenden ''.Gitignore ' Datei zum Ausschließen von Dateien, die ausgeschlossen werden sollen. Dies ist ein guter Weg, um Versionskontrolldateien auszuschließen.
RSYNC -AV -EXCLUDE -FROM = '.Gitignore 'Quelle/ Ziel/
Fügen Sie bestimmte Dateien ein und schließen Sie andere aus
Es ist auch möglich, Dateien gleichzeitig mit der Verwendung der Dateien einzubeziehen und auszuschließen --enthalten
Option, gefolgt vom Namen der Datei oder des Verzeichnisses, die Sie einschließen möchten, und der --ausschließen
Option für alles andere. Beispielsweise enthält der folgende Befehl alle Dateien mit dem “.txt" Erweiterung und ausschließen alle anderen Dateien:
rsync -av -include = '*.txt ' -exclude ='*'Quelle/ Ziel/
Es ist wichtig zu beachten, dass die Reihenfolge der --enthalten
Und --ausschließen
Optionen sind erheblich. Wenn Sie eine bestimmte Datei oder ein bestimmtes Verzeichnis einfügen und dann andere ausschließen möchten, die --enthalten
Option sollte zuerst kommen.
Vorhandene Dateien am Ziel ausschließen
Eine andere zu berücksichtigende Sache ist, Dateien auszuschließen, die bereits im Ziel vorhanden sind, und das Ziel ist eine Sicherung. Sie können verwenden --ignorieren
Optionen, um dies zu erreichen.
RSYNC -IGNORE -existing -v -Quelle/ Ziel/
Sie können mehr darüber lesen: https: // tecadmin.net/rsync-command-to-copy-missing-Files nur/
Große Dateien ausschließen
Eine weitere Überlegung bei der Verwendung von RSYNC zum Ausschluss von Dateien und Verzeichnissen ist die Leistung. Mit Ausnahme großer Dateien oder Verzeichnisse kann bei der Übertragung oder Synchronisierung von Daten erhebliche Zeit und Platz sparen. Wenn Sie beispielsweise eine Sicherung ausführen, möchten Sie möglicherweise große Mediendateien oder Sicherungen von Backups ausschließen.
RSYNC-IGNORE-Bestehen-Size-Range = '+100 m' -av Quelle/ Ziel/
Es gibt auch viele andere Optionen mit RSYNC, mit denen der Dateiübertragungsprozess weiter optimiert werden kann. Zum Beispiel können Sie die verwenden --ausschließen
Option, bestimmte Dateien oder Verzeichnisse aus der Übertragung auszuschließen, oder der --Probelauf
Option zu sehen, welche Dateien kopiert werden würden, ohne die Übertragung tatsächlich durchzuführen.
Einpacken
Insgesamt ist die Möglichkeit, Dateien und Verzeichnisse mit RSYNC auszuschließen. Durch die Verwendung der in diesem Artikel besprochenen Methoden und Best Practices können Sie diese Funktion voll ausnutzen und sicherstellen, dass Ihre RSYNC -Befehle so effizient und effektiv wie möglich arbeiten.
- « SED Befehl zum Löschen von Zeilen in einer Datei
- Der Befehl rsync zum kopieren fehlenden Dateien (Beispiele) »