Rsync: Dateien, aber keine Verzeichnisse

Hallo,

es seien drei Verzeichnisse: foo, foo/tmp und foo/tmp/bar. In diesen Verzeichnissen befinden sich jeweils eine nicht naeher definierte Anzahl von Dateien. In einer weiteren Datei dirlist steht der Text:

foo
foo/tmp/bar

Ziel: eine rsync-Anweisung, die mit --files-from=dirlist alle _Dateien_ (inklusive ihrem relativen Pfad) in den in dirlist aufgefuehrten Verzeichnissen kopiert, nicht aber die in den einzelnen Verzeichnissen enthaltenen Unterverzeichnisse. Im Beispiel sollen also die Dateien, auf die foo/* oder foo/tmp/bar/* passt, gesichert werden. Explizit ausgenommen sollen die Dateien in foo/tmp/* werden.

Ich habe jetzt verschiedene Kombinationen von -a und -r versucht. Dabei wird entweder gar nichts kopiert oder alles. Auch nach Anhaengen von /* an die Verzeichnisse in dirlist und Variation von -ar wollte mir rsync nicht den Gefallen tun: es behauptet, dass foo/tmp/bar/* nicht existiert (womit ich ihm ja recht geben muss).

Welche Option in der manpage habe ich noch uebersehen, oder kann rsync evtl. das von mir Gewuenschte gar nicht und ich muss mir noch ein paar wilde shell-Konstrukte drumrum basteln?

Danke im Vorraus,
Gruss vom Frank.

Schau dir mal die Parameter -C, --exclude, --exclude-from usw. an.

Danke fuer Deine Antwort.

Schau dir mal die Parameter -C, --exclude, --exclude-from usw.
an.

Habe ich. So richtig befriedigend sind sie leider nicht. Sie ermoeglichen es nur, Dateien per … (bei newsletters wuerde man sagen) ‚Opt out‘ aus der Synchronisation zu kriegen. Ich haette aber gerne eine dem ‚Opt in‘ aequivalente Methode: ich muss selbst entscheiden, ob ein Verzeichnis beruecksichtigt werden soll. Es kommt leider gelegentlich vor, dass ein Schelm vorbeikommt, mir ein Verzeichnis anlegt und dort, von mir unbemerkt, ~27TB Dateien ablegt. Diese wuerden beim automatischen Aufruf des rsync scripts erstmal mit kopiert werden (was nicht erwuenscht ist). Erst, wenn ich die Veraenderung in der Verzeichnisstruktur feststelle und das neue Verzeichnis mit in die Liste der auszuschliessenden aufnehme, wuerde das Verzeichnis ignoriert. Fuer einen Automatismus irgendwie ungeeignet.

Ich muss rsync wohl doch mehrmals aufrufen. Oder hat sonst noch jemand Ideen? (Ja, ich weiss, dass ich sehr kritisch bin.)

Danke,
Gruss vom Frank.