Überspringen/Beide behalten beim Verschieben von Dateien

roedert

roedert

Aktives Mitglied
Thread Starter
Dabei seit
05.01.2011
Beiträge
12.146
Reaktionspunkte
3.314
Habe gerade von einem lokalen Ordner Dateien auf den Server verschoben ... da es viele waren in 2 Schritten.
Einige Dateien existierten auf dem Server schon.
Daher kam bei dem ersten Verschiebevorgang die Auswahlmöglichkeit "Beide behalten" und es wurde Datei "xyz Kopie" erstellt.
Beim zweiten Verschiebevorgang wurde mir als Option für die doppelten Dateien nur "Überspringen" angeboten?
Einer ne Idee welche Logik da hinter steckt?
OS ist 10.10.5
 
Ich glaube, es hängt von der Anzahl der Dateien ab (auch wenn das keineswegs logisch und vernünftig ist).
 
Apple "überrascht" einen immer wieder ... da kann man doch nur noch mit dem Kopf schütteln
 
Ich hänge mich mal dran. Unter 10.9 sind es bis 4 Dateien, bei denen man "beide behalten" agezeigt bekommt.

Gibt es eine Möglichkeit das für mehr Dateien zu erzwingen? Wahrscheinlich mit dem Terminal... wie wäre das Komando für "verschiebe Dateien aus OrdnerA in OrdnerB und hänge "Kopie" and die Dateien aus OrdnerA"?
und
"kopiere Dateien aus OrdnerA auf HDD1 in OrdnerB auf HDD2 und hänge "Kopie" and die Dateien aus OrdnerA"?
 
Wahrscheinlich mit dem Terminal... wie wäre das Komando für "verschiebe Dateien aus OrdnerA in OrdnerB und hänge "Kopie" and die Dateien aus OrdnerA"?
und
"kopiere Dateien aus OrdnerA auf HDD1 in OrdnerB auf HDD2 und hänge "Kopie" and die Dateien aus OrdnerA"?
Nimm rsync
https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/rsync.1.html
Die Seite enthält einige praktische Beispiele, dein Stichwort ist
Code:
-b, --backup                make backups (see --suffix & --backup-dir)
     --backup-dir=DIR        make backups into hierarchy based in DIR
     --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
also:
Code:
rsync -cavb --suffix=KOPIE /quellverzeichnis/ /zielverzeichnis/
 
  • Gefällt mir
Reaktionen: Praeburn
Also:
Code:
rsync -cavb --suffix=KOPIE /devdisk1/Ordner1/UnterordnerA/ /devdisk1/Ordner2/UnterordnerB/
und dann kopiert er alle Dateien aus UnterordnerA in UnterordnerB und hängt "Kopie" an, ja?
 
Also:
Code:
rsync -cavb --suffix=KOPIE /devdisk1/Ordner1/UnterordnerA/ /devdisk1/Ordner2/UnterordnerB/
und dann kopiert er alle Dateien aus UnterordnerA in UnterordnerB und hängt "Kopie" an, ja?
Falls eine Datei bereits in Unterordner B ist, wird das Suffix dort angehängt, bevor die Datei aus Unterordner A kopiert wird. Schau dir in der oben verlinkten Man Page einfach mal weiter unten die Erklärung zu den Optionen an und spiel auch mit dem recursive flag...
 
spielen... hoffentlich mach ich dabei nichts kaputt.
 
"Spielen" kann man wunderbar in einer Testumgebung ... in diesem Fall ist eine solche doch mit 2 Ordnern und ein paar Beispieldateien doch schnell aufgebaut.
Und falls was was "kaputt macht" hat man ja noch ein Backup welches man zurückspielen kann ;)
Bei rsync gibt es aber auch einen speziellen "Spielparameter" -n oder --dry-run ... damit macht rsysnc keine Aktionen, sondern zeigt nur an was es tun würde ..... für deinen Fall bestens geeignet.
 
Danke, da hast du recht. Manchmal kommt man auf die einfachsten Sachen nicht.

PS:

ok, hat nicht geklappt
Code:
mein-mac:~ meinname$ rsync -cavb --suffix=KOPIE /devdisk1/zzEins/redu1/ /devdisk1/zzZwei/redu1/
building file list ... rsync: link_stat "/devdisk1/zzEins/redu1/." failed: No such file or directory (2)
done
rsync: mkdir "/devdisk1/zzZwei/redu1" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at /SourceCache/rsync/rsync-42/rsync/main.c(544) [receiver=2.6.9]
rsync: connection unexpectedly closed (8 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(452) [sender=2.6.9]
mein-mac:~ meinname$
 
Zuletzt bearbeitet:
Zieh mal Quell- und Zielordner mit der Maus in das Terminal, die von dir geschriebenen Pfade sehen komisch aus. Ich hätte /dev/disk1 oder eigentlich /Volumes/Macintosh HD erwartet, aber das kommt natürlich auf deine Umgebung an...
 
weil die ordner nicht existieren oder schreibbar sind.
sie existieren und sind intakt.
Zieh mal Quell- und Zielordner mit der Maus in das Terminal, die von dir geschriebenen Pfade sehen komisch aus. Ich hätte /dev/disk1 oder eigentlich /Volumes/Macintosh HD erwartet, aber das kommt natürlich auf deine Umgebung an...
es ist ja nicht macintosh HD, also die interne, sondern eine externe. Schaue ich im FPDP nach, dann hat Macintosh HD die Bezichnung disk0 und die externe disk1.
 
du bist der knaller. vorzeitiger aprilscherz, oder was?
wieso, weil ich von der externen auf die externe kopieren will? Das ist schon korrekt so. Meine Antwort bezog sich darauf, dass @ruerueka meinte, er hätte dev/disk1 oder Volumes/MacintoshHD erwartet. Deshalb sagte ich: bei mir ist disk1 ungleich MacintoshHD.

Bei mir ist MacintoshHD disk0. Da will ich nichts kopieren, also ist die außen vor.
Auf der externen (die bei mir dev/disk1 ist) soll vom einen Ordner in den anderen kopiert werden. Das interne Bootvolume (dev/disk0) ist nicht beteiligt.

Aber ich seh jetzt was anderes, da fehlt der / zwischen dev und disk1.
 
Zieh mal Quell- und Zielordner mit der Maus in das Terminal, die von dir geschriebenen Pfade sehen komisch aus. Ich hätte /dev/disk1 oder eigentlich /Volumes/Macintosh HD erwartet, aber das kommt natürlich auf deine Umgebung an...
Habe mein devdisk1 nun wie bei dir in dev/disk1 umgeändert. Ist aber immer noch falsch.
 
Meine Antwort bezog sich darauf, dass @ruerueka meinte, er hätte dev/disk1 oder Volumes/MacintoshHD erwartet.

Ich denke, das ist als Beispiel gemeint für die beiden Möglichkeiten, das Volume zu benennen. Im "Unix-Code" oder im "Finderpfad"(beide Begriffe sind jetzt auf meinem Mist gewachsen). Wobei dev/disk1 eigentlich nicht das Volume angibt, sondern die komplette Platte.
Deshalb sagte ich: bei mir ist disk1 ungleich MacintoshHD.

Wenn du normal startest, also von der internen Partition, die per Default MacIntoshHD heißt, dann ist diese immer dev/disk0s2.
Bei dev/diskn wird immer eine Platte, ein Stick oder sonst ein Gerät angesprochen, die volumes darauf, selbst wenn es nur ein einziges ist, haben immer Namen nach dem Schema dev/disknsm, n und m von 0 aufwärts gezählt.
 
Ich denke, das ist als Beispiel gemeint für die beiden Möglichkeiten, das Volume zu benennen. Im "Unix-Code" oder im "Finderpfad"(beide Begriffe sind jetzt auf meinem Mist gewachsen). Wobei dev/disk1 eigentlich nicht das Volume angibt, sondern die komplette Platte.
OK, ich hatte @ruerueka ja gefragt, ob /devdisk1/ordner/Unterordner richtig ist und er hat ja gesagt. Dann hat er es übersehen oder versäumt mir zu sagen, dass das falsch ist, weil ich damit nicht das Volume, sondern die ganze Platte anspreche. (Wobei ich denken würde, das es egal sei, weil ja nur ein Volume drauf ist auf der Platte).
Wenn du normal startest, also von der internen Partition, die per Default MacIntoshHD heißt, dann ist diese immer dev/disk0s2.
Bei dev/diskn wird immer eine Platte, ein Stick oder sonst ein Gerät angesprochen, die volumes darauf, selbst wenn es nur ein einziges ist, haben immer Namen nach dem Schema dev/disknsm, n und m von 0 aufwärts gezählt.
Hast recht.

interne HD: disk0
Volume "MacintoshHD" auf dieser ist disk0v2

externe HD: disk1
Volume auf dieser ist disk1v2


Wie beschreibe ich den Pfad denn nun richtig?

Quelle: externe Festplatte -> Volume -> Ordner -> Unterordner -> Dateien
Ziel: externe Festplatte -> gleiches Volume wie Quelle -> anderer Ordner -> Unterordner -> gleiche Dateien wie Quelle (hier KOPIE anhängen)
 
(Wobei ich denken würde, das es egal sei, weil ja nur ein Volume drauf ist auf der Platte).
Für den Menschen schon, für den Rechner und seine Programme aber keineswegs. Der braucht ein klar definiertes Ziel, den vollen Pfad, auch wenn es keine weitere Auswahl gibt.
Programme stürzen ja auch ab, wenn der Programmierer mal am Ende einer Codezeile ein von der verwendeten Programmiersprache abhängiges Ende-Zeichen vergisst, obwohl man deutlich sieht, daß die Zeile da endet (und es der Rechner auch anhand des Zeilenumbruchzeichens erkennen müsste!).

externe HD: disk1
Volume auf dieser ist disk1v2
Wie beschreibe ich den Pfad denn nun richtig?
Sicher, daß da ein v steht und kein s?
Zum genannten Volume wäre der Pfad dann dev/disk1v2 (oder dev/disk1s2, wenn das v ein Tippfehler ist)
Per diskutil list im Terminal wird bei den Volumes/Partitionen ja das "Hinterteil" ganz rechts unter 'Identifier' korrekt angezeigt, der Pfadanfang dev/ gehört natürlich davor.
 
Sorry, ja s nicht v.
 
Zurück
Oben Unten