Ich weiß, dass rsync eine --exclude
Option hat, die ich ziemlich häufig benutze. Aber wie kann ich festlegen, dass alle "numerischen" Verzeichnisse ausgeschlossen werden sollen?
In der Verzeichnisliste unten möchte ich nur, dass es kopiert css
wird html
, undinclude
.
..
123414
42344523
345343
2323
css
html
include
Normalerweise ist meine Syntax so etwas wie
rsync -avz /local/path/ user@server:/remote/path/ --exclude="cache"
Ich denke, es sollte ungefähr so aussehen, --exclude="[0-9]*"
aber ich denke nicht, dass das funktionieren wird.
rsync
versteht einen Eintrag pro Zeile. Leerzeichen funktionieren nicht.Sie können in der Mustersyntax von rsync nicht "einen Namen, der nur Ziffern enthält" sagen. Schließen Sie also alle Namen ein, die eine nichtstellige Zahl enthalten, und schließen Sie den Rest aus.
Siehe auch meine rsync-Musteranleitung .
quelle
Sie können es in einer Zeile tun:
quelle
Verwenden Sie find, um eine Liste der auszuschließenden Verzeichnisse zu erstellen, und verwenden Sie dann die Option --exclude-from von rsync, wie Tim Kennedy sie beschrieben hat.
quelle
Verwenden Sie diesen Befehl:
quelle