In einem rsync versuche ich, Unterverzeichnisse auszuschließen, die einem Muster entsprechen. Aber ich kann es nicht zum Laufen bringen. Ich habe einige Beispiele verfolgt, die hier und bei Google gefunden wurden. Aber ich bekomme nicht die richtigen Ergebnisse. Hier ist das Optionsbit meines Befehls:
-avh --exclude 'branch*' --stats --delete --link-dest=$LNK
Meine Quellverzeichnisstruktur ist
/root
/branch1
/branch2
/branch3
/other
/stillAnother
/etc
Dies ist Teil eines Sicherungsskripts. $ LNK ist ein Link zum rsync-Ziel des Vortages.
Ich möchte nicht / root / branch1, / root / branch2, / root / branch3. oder deren zu synchronisierende Inhalte. Aber sie sind.
Hier sind die Ausschlussbits, die ich bereits ausprobiert habe:
--exclude=branch*
--exclude='branch*'
--exclude '/branch*'
--exclude /branch*
Vielen Dank für jede Hilfe / Beratung.
BEARBEITEN - um das Flag "Mögliches Duplikat" zu adressieren
Diese Frage bezieht sich auf eine bekannte Liste von Verzeichnissen. Ich muss alle Verzeichnisse ausschließen, die einem Muster folgen, auch wenn diese Verzeichnisse noch nicht existieren. dh aus meinem Beispiel können andere benannte Verzeichnisse /branch*hinzugefügt werden. Ich muss mein Skript zukunftssicher machen und vermeiden, das Skript zu bearbeiten, wenn ein Verzeichnis hinzugefügt wird, das dem Muster entspricht, da diese Verzeichnisse möglicherweise temporär sind.
*branch*oder /root/branch*nicht, die Kurzform branch*wird nicht gefunden und ist daher nicht ausgeschlossen.
--exclude '*branch*)