Rsync-Ausschlussprobleme

Rsync-Ausschlussprobleme

Ich habe eine große Anzahl von Verzeichnissen mit einer ähnlichen Unterordnerstruktur. Jedes Verzeichnis hat ein Unterverzeichnis „s“. Einige Verzeichnisse haben ein „_tmp“-Präfix im Namen.

Ich möchte alle Hauptverzeichnisse auf einen neuen Server kopieren, aber die S-Unterverzeichnisse und _tmp-Verzeichnisse aus der Übertragung herauslassen.

Unter OSX (rsync v. 2.6.9) funktioniert dieser Befehl einwandfrei:

rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

Aber unter Ubuntu (rsync v. 3.0.7) schlägt derselbe Befehl fehl, _tmps sind draußen, aber die S-Ordner sind noch da. Gibt es irgendwelche Workarounds?

Antwort1

Ich würde Sie bitten, Ihrem Befehl Folgendes voranzustellen, echoum zu sehen, was Sie ausführen.

echo rsync -avz --exclude */s/* --exclude *_tmp SOURCE/ DEST/

Abhängig von Ihrer Shell, Ihren Shell-Einstellungen und dem Inhalt Ihres aktuellen Verzeichnisses *_tmpkann das nicht in Anführungszeichen gesetzte Element in eine bestimmte Datei erweitert werden (die wahrscheinlich nicht mit den meisten übereinstimmt, die Sie ausschließen möchten). Das echosollte zeigen, was tatsächlich passiert.

Sie sollten die Sternchen durch Anführungszeichen schützen, um eine Shell-Erweiterung zu verhindern.

rsync -avz --exclude '*/s/*' --exclude '*_tmp' SOURCE/ DEST/

verwandte Informationen