Unterordner gezielt kopieren (rsync?) ?

14/05/2009 - 17:46 von Ansgar Strickerschmidt | Report spam
Hallo NG,

wie kann ich folgendes erreichen:
Von einer Ordnerstruktur, die bildlich gesprochen so aussieht:

Quellvz-+-A-+-01
| +-02
| +-03
| +-04
| +-05
| \-...
|
+-B-+-01
| +-02
| +-03
| +-04
| +-05
| \-...
|
+-C-+-01
| +-02
| +-03
| +-04
| +-05
| \-...
...

möchte ich nur bestimmte Unterordner unter Beibehaltung der Hierarchie in
ein Zielsystem kopieren.
Im Beispiel soll dann der Zielordner also etwa so aussehen:

| \-03
|
+-B-+-02
| \-03
|
+-C-+-02
| \-03
...

Wie kriege ich das ökonomisch hin? Ich nehme an, rsync kann das - nur wie?
A,B,C,... sind in Wirklichkeit ganz schön viele Verzeichnisse (um die
100); zuviel für Handarbeit jedenfalls...

Ansgar

Mails an die angegebene Adresse erreichen mich - oder auch nicht.
Nützliche Adresse gibt's bei Bedarf!
Mail to the given address may or may not reach me - useful address will be
given when required!
 

Lesen sie die antworten

#1 Bernd Mayer
14/05/2009 - 21:24 | Warnen spam
Ansgar Strickerschmidt schrieb:
Hallo NG,

wie kann ich folgendes erreichen:
Von einer Ordnerstruktur, die bildlich gesprochen so aussieht:



[Komplexe Ordnerstruktur mit Ausnahmen rsyncen]

Hallo,

möglicherweise kann man die --exclude-Optionen von rsync geschickt
nutzen. In der Praxis kann man dann ein script verwenden welches mann
für einen einfachen Fall erstellt und testet und dann mit copy-and paste
in genügender Anzahl verwendet. Bei bis zu hundert Zeilen könnte das
gerade noch machbar sein, unter Linux gibt es ja komfortable Editoren.
Man muss dass Skript halt einmal ausarbeiten und kann das dann beliebig
oft verwenden.

http://www.samba.org/rsync/
http://de.wikipedia.org/wiki/Rsync
http://www.linuxcommand.org/man_pages/rsync1.html

Beispiel:

#!/bin/bash
rsync -av --exclude Ausnahme-Ordner/ --delete -e ssh
Verzeichniswurzel_zum_Kopieren IP-Nummer_oder_hostname:/Zielverzeichnis/se

Die Ausnahmeorder kann man auch in eine Liste schreiben und Auslesen
lassen, sieh das erste Beispiel auf der rsync-Seite.

Andere, etwas komplexere Beispielzeile:

rsync -avv --exclude *debug* --delete --filter='P rpm-Fvh.sh'
rsync://ftp5.gwdg.de/pub/opensuse/r...11.0/i586/
./Education/i586/


Bernd Mayer

Ähnliche fragen