[Gelöst]Kopierprogramm, das automatisch Verzeichnisse erstel

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Robert505
Beiträge: 3
Registriert: 02.06.2009 17:18:32

[Gelöst]Kopierprogramm, das automatisch Verzeichnisse erstel

Beitrag von Robert505 » 19.09.2010 16:14:43

Ich suche ein Kopierprogramm, dass beim Kopieren auch automatisch die notwendigen Verzeichnisse generiert. Mit cp scheint das nicht zu funktionieren.

Hintergrund: Ich habe eine etwas längere Liste (regelmäßig und manuell bearbeitbar), mit der ich bestimmte Datein von einer Quelle in ein Ziel mit den identischen Unterverzeichnissen wie in der Quelle kopieren möchte. Diese Liste lese ich aus und wollte mit dem cp-Befehl die einzelnen Dateien kopieren. In meinem Skript baue ich mir deshalb einen cp-Befehl zusammen (z.B. cp /quelle/test/testdatei /ziel/test/testdatei). Wenn das Verzeichnis /ziel/test nicht existiert, bekomme ich von cp die entsprechende Fehlermeldung. Habe auch schon die verschiedenen Optionen erfolglos ausporbiert.
Zuletzt geändert von Robert505 am 19.09.2010 17:46:28, insgesamt 1-mal geändert.

uname
Beiträge: 12480
Registriert: 03.06.2008 09:33:02

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von uname » 19.09.2010 16:27:01

Du könntest in deinem Script zuvor das Verzeichnis anlegen lassen. Leider kenne ich auch keine andere Möglichkeit.

Code: Alles auswählen

mkdir -p /ziel/test

Code: Alles auswählen

       -p, --parents
              Kein Fehler, wenn vorhanden; übergeordnete Verzeichnissen erzeu‐
              gen, wenn notwendig.
Vielleicht gibt es ja bei "rsync" eine Möglichkeit. Leider fällt mir da aber aktuell auch nichts ein. Musst mal das Manual lesen.

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von 123456 » 19.09.2010 16:36:15

cp hat doch den Parameter "-P" bzw. "--parents" - schon probiert?

Benutzeravatar
schorsch_76
Beiträge: 2630
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von schorsch_76 » 19.09.2010 17:03:52

Ich mach das immer so

Code: Alles auswählen

cp -dpr src dst
-d: never follow symbolic links in SOURCE
-p: preserve rights
-r: recursive

Gruß

schorsch

Robert505
Beiträge: 3
Registriert: 02.06.2009 17:18:32

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von Robert505 » 19.09.2010 17:04:50

Danke für die Antworten!

bei cp hat der Parameter -P eine etwas andere Beudeutung als --parents. Beide hatte ich schon probiert, ohne Erfolg. Bei -P bringt er die übliche Fehlermeldung und bei --parents meckert er, dass das Ziel ein Verzeichnis sein muss.

Bei rsync habe ich nicht wirklich was gefunden. Jetzt werde ich mich mal an das Skript setzen und zuvor immer das Verzeichnis anlegen lassen. Muss mal sehen, wie ich den Pfad von der Datei trenne....

123456
Beiträge: 6126
Registriert: 08.03.2003 14:07:24

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von 123456 » 19.09.2010 17:11:52

Robert505 hat geschrieben:Muss mal sehen, wie ich den Pfad von der Datei trenne....
das sollte mit basename und dirname gehen.

Robert505
Beiträge: 3
Registriert: 02.06.2009 17:18:32

Re: Kopierprogramm, das automatisch Verzeichnisse erstellt

Beitrag von Robert505 » 19.09.2010 17:43:56

Habe es jetzt mit pfad=${pfaddatei%/*} aufgedröselt, aber dirname finde ich irgendwie sprechender. Werde das noch umbauen. Jedenfalls funktioniert es, wenn ich das Verzeichnis vorher anlege mit mkdir -p

Vielen Dank für Eure Hilfe!

pferdefreund
Beiträge: 3800
Registriert: 26.02.2009 14:35:56

Re: [Gelöst]Kopierprogramm, das automatisch Verzeichnisse er

Beitrag von pferdefreund » 21.09.2010 13:56:38

Ein tar -cvf in ein /tmp/daten.tar und
ein tar -xvf da, wos hinsoll - und alles ist da...
Geht eventuell sogar über Pipe - hab nicht nachgeschaut...

michaa7
Beiträge: 5033
Registriert: 12.12.2004 00:46:49
Lizenz eigener Beiträge: MIT Lizenz

Re: [Gelöst]Kopierprogramm, das automatisch Verzeichnisse er

Beitrag von michaa7 » 24.09.2010 00:11:21

Natürlich funktioniert das mit cp

Code: Alles auswählen

cp -ax src dest
mache ich immer so und klappt so auch immer. Allerdings ist es sehr wichtig, wie du "src" eingibst.

src oder src/ oder scr/* oder src/. produziert recht unterschiedliche ergebnisse.
gruß

michaa7

-------------------------------
Menschen ändern gelegentlich ihre Ansichten, aber nur selten ihre Motive. (Oskar Negt)

Antworten