Hallo Liste Vorab entschuldigung für die Form der eMail, aber da mein Rechner kaputt ist kann ich zur Zeit die Mails nur über das GMX-Webinterface schreiben/lesen. Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren. Kennt da jemand eine gute Lösung? Für alle Ideen die ich hatte reichen die Optionen von cp nicht aus (oder gibt es welche die NICHT in der manpage stehen). Stefan -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
Moin, * Stefan Heinrichsen <gelbemauer@gmx.de> [02-07-27 18:10]:
Vorab entschuldigung für die Form der eMail, aber da mein Rechner kaputt ist kann ich zur Zeit die Mails nur über das GMX-Webinterface schreiben/lesen.
Ist doch ok.
Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Ich kann Dir nicht ganz folgen, vermutlich weil ich noch nie mit Selbstgebrannten zu tun hatte. Sind in diesen Unterordnern noch unkopierte Dateien? Das hört sich insgesamt schon nach Shell- oder Perlskript an. Thorsten -- Unix is not an 'A-ha!' experience, it is more of a 'Holy shit!' experience. - Colin McFadyen
Hallo Stefan, * Stefan Heinrichsen schrieb am 27.Jul.2002:
Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Ich verstehe nicht ganz, was Du willst. Du kopierst mit cp alles klar. Dann kanst Du nochmal kopieren. Entweder werden Dateien, die Du schon hast, überschrieben, oder nicht. cp kann wohl kaum feststellen, ob eine Datei, die existiert, gültig ist, oder Datenschrott. Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
Hallo Stefan,
* Stefan Heinrichsen schrieb am 27.Jul.2002:
Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Ich verstehe nicht ganz, was Du willst. Du kopierst mit cp alles klar. Dann kanst Du nochmal kopieren. Entweder werden Dateien, die Du schon hast, überschrieben, oder nicht. cp kann wohl kaum feststellen, ob eine Datei, die existiert, gültig ist, oder Datenschrott.
Wenn ich bei cp die option "-u" angebe werden nur Dateien kopiert die aktueller sind. Wenn jetzt die datei /cdrom/unterordner/datei nicht gelesen wurde ist sie als "Schrott" auf meiner Platte. Wenn ich jetzt "cp -r -u /cdrom/unterordner/*" eingebe probiert er erneut die Datei zu kopieren. wenn ich aber nur "cp -r -u /cdrom/*" eingebe probiert er das nicht. Natürlich könnte ich einfach noch mal alles kopieren und alle Dateien überschreiben, allerdings würde das sehr lange dauern. Deswegen suche ich nach einer Möglichkeit nur die Dateien zu kopieren die als Schrott auf der Platte liegen. Eine Möglichkeit wäre es z.B. wenn man cp sagen könnte, dass es Dateien bei denen Fehler auftraten wieder löschen soll (man also keinen Schrott hat) und danach dann alles kopieren würde mit einer Option das Dateien NICHT überschrieben werde. Beide Optionen hat cp meines Wissens nicht. Stefan -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
Hallo, Am Samstag, 27. Juli 2002 18:10 schrieb Stefan Heinrichsen:
Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Ich verstehe nicht ganz, wie das funktionieren soll. Wenn Du die CD polierst, bekommen die Dateien doch deswegen kein neues Datum, oder? Also können sie nicht mit `-u' erfaßt werden. Hier kann ich es nicht ausprobieren, weil ich keine schmutzige CD habe, aber vielleicht kriegst Du Dein Problem gelöst mit dem Return-Code von `cp' und einem `find'-Befehl. In etwa so: $ find /cdrom -type d -exec mkdir kopie/{} \; -o \ $ -exec cp {} kopie/{} \; -o ... `...' steht für das, was ausgeführt wird, wenn der Kopierbefehl gescheitert ist. Gruß Bertram -- Bertram Scharpf <b.scharpf@tesionmail.de>
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote: [...]
Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-) find /cdrom -print | cpio -pdm /pfad/zum/ziel man find man cpio Jan
Hi Jan, On Sunday 28 July 2002 21:51, Jan Trippler wrote:
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote: [...]
Ich suche einen Kopierbefehl bei dem ich mehr Optionen habe wie bei 'cp'. Konkret möchte ich CD's kopieren die zum Teil beschädigt sind. Wenn ich nun "cp -r /cdrom/* ." mache bleib die nicht lesbaren Dateien "halbfertig" im aktuellen Ordner liegen. Das ist auch nicht weiter schlimm. Danach reinige ich die CD und versuche es mit einem "cp -r -u /cdrom/* ." neu beim Überprüfen des Datums geht er aber nicht in die Unterordner rein. Probiert also NICHT nochmal die beschädigte Datei "cdrom/unterorder/datei" zu kopieren.
Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-)
find /cdrom -print | cpio -pdm /pfad/zum/ziel find /cdrom -depth ..... ?
andy -- ------------------------ /"\ Andreas.Tirok@beusen.de \ / ASCII Ribbon Campaign fon: +49 30 549932-0 X Against HTML Mail fax: +49 30 549932-21 / \
On Mon, 29 Jul 2002 at 10:03 (+0200), Andreas Tirok wrote:
On Sunday 28 July 2002 21:51, Jan Trippler wrote:
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote: [Kopieren / Update] Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-)
find /cdrom -print | cpio -pdm /pfad/zum/ziel find /cdrom -depth ..... ?
Warum -depth? Jan
On Tuesday 30 July 2002 00:56, Jan Trippler wrote:
On Mon, 29 Jul 2002 at 10:03 (+0200), Andreas Tirok wrote:
On Sunday 28 July 2002 21:51, Jan Trippler wrote:
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote:
[Kopieren / Update]
Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-)
find /cdrom -print | cpio -pdm /pfad/zum/ziel
find /cdrom -depth ..... ?
Warum -depth? Damit die Directory-Timestamps richtig gesetzt werden.
andy -- ------------------------ /"\ Andreas.Tirok@beusen.de \ / ASCII Ribbon Campaign fon: +49 30 549932-0 X Against HTML Mail fax: +49 30 549932-21 / \
On Die, 30 Jul 2002 at 06:39 (+0200), Andreas Tirok wrote:
On Tuesday 30 July 2002 00:56, Jan Trippler wrote:
On Mon, 29 Jul 2002 at 10:03 (+0200), Andreas Tirok wrote:
On Sunday 28 July 2002 21:51, Jan Trippler wrote:
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote:
[Kopieren / Update]
Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-)
find /cdrom -print | cpio -pdm /pfad/zum/ziel
find /cdrom -depth ..... ?
Warum -depth? Damit die Directory-Timestamps richtig gesetzt werden.
Verstehe ich nicht. Die letzte Datei, die in ein Zielverzeichnis geschrieben wird, ändert doch eh die mtime des Verzeichnis, völlig unabhängig davon, ob die Datei vor oder nach dem Verzeichnis in der print-Ausgabe des find kommt. Wenn ein Verzeichnis neu im Quellpfad auftaucht, muss es durch cpio neu erzeugt werden, sonst geht das Dateikopieren unterhalb des Verzeichnis schief - egal, ob die Dateien zuerst kommen oder zuerst das Verzeichnis. Jan
Hi Jan, On Tuesday 30 July 2002 21:09, Jan Trippler wrote:
On Die, 30 Jul 2002 at 06:39 (+0200), Andreas Tirok wrote:
On Tuesday 30 July 2002 00:56, Jan Trippler wrote:
On Mon, 29 Jul 2002 at 10:03 (+0200), Andreas Tirok wrote:
On Sunday 28 July 2002 21:51, Jan Trippler wrote:
On Sam, 27 Jul 2002 at 18:10 (+0200), Stefan Heinrichsen wrote:
[Kopieren / Update]
Wie wärs mit cpio? Das unverstandene Stiefkind unter Unix / Linux ;-)
find /cdrom -print | cpio -pdm /pfad/zum/ziel
find /cdrom -depth ..... ?
Warum -depth?
Damit die Directory-Timestamps richtig gesetzt werden.
Verstehe ich nicht. Die letzte Datei, die in ein Zielverzeichnis geschrieben wird, ändert doch eh die mtime des Verzeichnis, völlig unabhängig davon, ob die Datei vor oder nach dem Verzeichnis in der print-Ausgabe des find kommt. Das genau ist der Punkt. Wenn Du eine identische Kopie eines Verzeichnisbaumes haben moechtest, dann sollen die Timestamps ja _nicht_ modifiziert werden. Du hast ja cpio auch mit -m
---- snip man cpio ---- -m, --preserve-modification-time Retain previous file modification times when creat ing files. ---- snap man cpio ---- angegeben. Und eben dann ist der Timestamp fuer das Verzeichnis nicht ok, wenn dieses als erstes behandelt wird (m_time preserved) und danach behandelte Files die m_time des Verzeichnisses aendern.
Wenn ein Verzeichnis neu im Quellpfad auftaucht, muss es durch cpio neu erzeugt werden, sonst geht das Dateikopieren unterhalb des Verzeichnis schief - egal, ob die Dateien zuerst kommen oder zuerst das Verzeichnis. Ich denke, wenn cpio erst die Files behandelt, wird das Verzeichnis angelegt und die Files hineinkopiert. Anschliessend wird dann die m_time des Verzeichnisses korrigiert, wenn die find-Ausgabe mit -depth erzeugt wurde, weil ja der Eintrag fuer das Verzeichnis als letztes kommt.
Hier mal ein kleines Beispiel fuer die find's: find ./test -print ./test/ ./test/a ./test/a/b ./test/a/b/c find ~/test -depth -print ./test/a/b/c ./test/a/b ./test/a ./test/ andy -- ------------------------ /"\ Andreas.Tirok@beusen.de \ / ASCII Ribbon Campaign fon: +49 30 549932-0 X Against HTML Mail fax: +49 30 549932-21 / \
On Mit, 31 Jul 2002 at 12:07 (+0200), Andreas Tirok wrote:
On Tuesday 30 July 2002 21:09, Jan Trippler wrote: [find mit / ohne depth]
Verstehe ich nicht. Die letzte Datei, die in ein Zielverzeichnis geschrieben wird, ändert doch eh die mtime des Verzeichnis, völlig unabhängig davon, ob die Datei vor oder nach dem Verzeichnis in der print-Ausgabe des find kommt. Das genau ist der Punkt. Wenn Du eine identische Kopie eines Verzeichnisbaumes haben moechtest, dann sollen die Timestamps ja _nicht_ modifiziert werden. Du hast ja cpio auch mit -m
---- snip man cpio ---- [...] ---- snap man cpio ----
angegeben. Und eben dann ist der Timestamp fuer das Verzeichnis nicht ok, wenn dieses als erstes behandelt wird (m_time preserved) und danach behandelte Files die m_time des Verzeichnisses aendern.
Ja, jetzt verstehe ich, was Du gemeint hast. Ich habs gerade mal ausprobiert, es kommt tatsächlich hin. Mit -depth bleibt die Original-mtime des kopierten Verzeichnis bestehen. Praktische Auswirkungen auf ein Update hat das zwar IMHO nicht, es ist aber oft wichtig, wenn auch die Zeiten der Verzeichnisse noch stimmen - z. B. um sich einen schnellen Überblick über Veränderungen zu verschaffen. Jan
participants (6)
-
Andreas Tirok
-
B.Brodesser@t-online.de
-
Bertram Scharpf
-
Jan.Trippler@t-online.de
-
Stefan Heinrichsen
-
Thorsten Haude