RSync - Ausschließen eines bestimmten Unterverzeichnisses und seiner untergeordneten Verzeichnisse, in denen das Unterverzeichnis auf verschiedenen Ebenen vorhanden ist


36

Tag auch,

Ich verwende rsync, um einen Remote-Ordnerbaum zu synchronisieren, der ungefähr so ​​aussieht:

/folderA/a1/cache
/folderA/a1/cache/A1
/folderA/a1/cache/A2
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder/cache
/folderB/cache/
/folderB/b1/somefolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache
/folderB/b1/somefolder/yetanotherfolder/cache/B1
/folderB/b1/somefolder/yetanotherfolder/cache/B2

Ich weiß nicht, wie der Ordnerbaum aussehen und sich im Laufe der Zeit ändern wird. Ich möchte also in der Lage sein, die obigen Schritte rekursiv zu synchronisieren, aber den Ordner "cache" und alle darin enthaltenen Unterordner auszuschließen , damit ich letztendlich synchronisiere:

/folderA/a1
/folderA/a1/somefolder
/folderA/a1/someotherfolder
/folderA/a2/somefolder
/folderB/
/folderB/b1/somefolder
/folderB/b1/somefolder/yetanotherfolder/

Irgendwelche Vorschläge?


Antworten:


53

Du willst die --excludeFlagge. Zum Beispiel ein lokales rsync:

rsync -a --exclude cache/ src_folder/ target_folder/

Es ist wirklich so einfach: Diese Ausschlussregel entspricht einem Verzeichnis mit dem Namen "cache" an einer beliebigen Stelle in Ihrem Baum.

Weitere Informationen finden Sie auf der rsync-Manpage unter "--exclude" und im Abschnitt "FILTER RULES":

http://www.samba.org/ftp/rsync/rsync.html


1
Doh !!. Danke, es sind die einfachen Antworten, die mir am besten gefallen :-)
TheEdge

1
Was ist mit nicht irgendwo im Baum? Gerne nur ausschließen a/cache. UPD Siehe diese Antwort
x-yuri

2
Auch --exclude /cache/(mit dem führenden /) wird nur das a/cacheVerzeichnis ausgeschlossen, nicht das angegebene Verzeichnis cache.
Amir Ali Akbari

Warum a/ b/in der obigen Befehlszeile, was bedeutet das?
Danijel

1
@Danijel: a/ist das Verzeichnis, aus dem wir synchronisieren (oder kopieren); b/ist das Verzeichnis, in das wir synchronisieren.
Jander
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.