shell: nur neue dateien kopieren

D

der_rene

Aktives Mitglied
Thread Starter
Dabei seit
05.02.2004
Beiträge
337
Reaktionspunkte
3
hallo

ist es möglich, das man mit terminal dateien von einem windows-rechner, die man vorher mit apfel-k gemounted hat, auf ein mac-laufwerk kopieren kann, wo aber nur neue oder neuere dateien kopiert werden?

also nicht alle, sondern wirklich nur neuere, oder die, die noch nicht da sind.

unter windows hab ich da bislang in der eingabeaufforderung über die befehlseingabe immer folgendes eingegeben:
xcopy d:\*.* y:\ /e /c /h /i /d
damit konnte ich alle dateien von d: nach y: kopieren, sofern die dateien auf d: auch wirklich nur neuer als auf y: waren.

sonst ist das immer so ein aufwand, alle dateien immer wieder zu kopieren.

oder kann man sowas auch mit apple-script machen?

vielen dank
 
Terminal öffnen "man cp" eingeben und im Manual zum Kopierbefehl cp nachlesen. Wenn cp das nicht kann, dann gibt es noch rcp oder das neuere rsync.

Ich tippe mal drauf, daß rsync das ist, was du suchst.
 
du kannst mittels find, dir alle dateien suchen lassen die ein bestimmtest Änderungsdatum haben oder auch nach dem Erstellungsdatum suchen. Wenn ud dann die Dateien hast, mittels -exec {} \; funktion die dateien copieren (cp) und fertig.

gruss
Kruemel
 
rsync ist dein Freund.


Gruß,

?=?
 
hallo kruemel.

kannst du das noch mal ein bisschen ausführlicher beschreiben, wie das funktionieren soll?
ich dachte, es wär ein einfacher, aber jetzt stoß ich wohl doch an meine grenze.

vielen dank
rene
 
zippzapp quickie beispiel


find . -type f -mtime 1 -exec cp {} /zielverzeichniss \;

dieses Kommando, findet (ausgehend vom aktuellen Verzeichniss) alle Dateien (type f) die eine Modification time von 1 haben ( 1 = 24 std) und kopiert diese nach /zeilverzeichniss


mfg
Kruemel
 
demnach müsste ich mir als merken, wann ich das letzte mal dieses kommando ausgeführt hab, damit ich die änderungen nicht doppelt oder zu wenig kopiere, oder?

ginge das auch, wenn ich das mit pc-daten-netzwerklaufwerken mache? oder kann da das modifierzierte datum nicht erkannt werden?

und was haltet ihr von dem tool "deja vu"?
 
ähm - wie schon oben erwähnt wurde ist rsync das tool Deiner Wahl.
rsync -av /quelle /ziel
führst Du beim ersten mal aus.

Mit
rsync -auv /quelle /ziel
führst Du dann die folgenden Durchläufe (updates) aus.

Wenn der andere Rechner eine Linuxmaschine oder ein Mac ist, brauchst Du noch nicht einmal eine Freigabe mounten.
Dann machst Du einfach
rsync -e ssh -av /quelle rechnername:/ziel
Auf Windows kann man mW rsync auch installieren, dann funktioniert das wohl ähnlich.

btw: Zum Kopieren von hfs(+) Metadaten sollte man rsyncx einsetzen.

HTH
 
Zuletzt bearbeitet:
ok.
muß ich das auf windows installieren, wenn ich vom mac aus rsync starte und nur die dateien von win nach mac holen will, nachdem ich den ordner gemounted hab? nee, eigentlich nicht, oder?

wie ist denn die adresse, die ich im terminal eingeben muß, wenn ich das gemountede windows-laufwerk "dateien" als quelle eingeben will?
 
Zuletzt bearbeitet:
wenn Du das Volume lokal gemountet hast, musst Du unter Windows nix installieren.
Als Quelle verwendest Du dann /Volumes/dateien oder so (kannst auch die TAB-Vervollständigung benutzen).

Wie bei allen sicherheitsrelevanten Operationen würtde ich das aber erstmal im kleinen Testen (also nur ein Verzeichnis mit wenigen Dateien sichern; dann eine Datei in der Quelle ändern und updateLauf durchführen usw.)
Wichtig ist natürlich auch, dass der Benutzer, der rsync ausführt, Leserechte auf alle Dateien und Verzeichnisse der Quelle hat und Schreibrechte im Ziel.
 
ich habs über smb:// gemounted.
ist das das gleiche?
wenn nein, wie könnte ich das dann lokal mounten?
 
Es ist lokal gemountet.
Je nachdem wie Du es gemacht hast, ist aber der Mountpoint nicht unter >Volumes zu finden.
Gib einfach
mount
im Terminal ein und sieh in der dritten Spalte nach wo es liegt.
 
ah ja, es klappt. vielen dank!

kann man diesen befehl jetzt auch irgendwie speichern, sodass man ein button zum klicken haben kann? kann man es vielleicht in ein alias für den terminal eingeben? das also der terminal geöffnet wird und gleich diesen befehl ausführt?
 
ich hab mit dem terminal bislang nur wenig bekanntschaft gemacht, daher bitte ich schon mal um nachsicht, wenn nicht alles korrekt formuliert wird...

wenn es eine ganz bestimmte zeile ist, dann öffne einfach ein fenster im terminal und gehe zu ablage -> sichern unter (oder shift + apfel + S).
im aufspringenden fenster kannst du "diesen befehl ausführen" wählen und die zeile in das feld eingeben.

solche vorlagen speichere ich in ~/Library/Application Support/Terminal und hole sie mir unter Ablage -> Library wieder hervor.

ansonsten kann ich (zumal wir hier ja nicht im os x unix forum sind) uneingeschränkt die donationware psyncx empfehlen (bei macupdate.com mal suchen). arbeitet auch inkrementell. hab aber leider keine ahnung, ob sie auch mit deinem gemounteten windows-irgendwas tut. ;)
 
Zurück
Oben Unten