• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Wie mit rsync Bidirektional syncen?

Kai-Christoph

Empire
Registriert
17.02.06
Beiträge
87
Hallo, ich habe für meinen Schwiegervater ein kleines Script geschrieben, mit dem ich Daten von einem USB-Stick mit einem Ordner auf der Platte syncen kann.

Da ich nicht herausgefunden habe, welches der Befehl für rsync ist um "wirklich zu synchronisieren",
habe ich mir einfach so geholfen:

Code:
display dialog "Hallo Karl!
Willst Du Deinen
USB-Stick synchronisieren? " & "" buttons {"Nein", "Ja"} with icon caution with title "Backup" default button "Ja"
if button returned of result = "Ja" then
	display dialog "Synchronisiere USB-Stick…

Je nachdem, wie viele Daten Du
zu sichern hast, kann das einige
Minuten dauern!
Hab' ein wenig Geduld.

Drücke 'OK' oder warte 10 Sekunden, dann startet das Backup." with icon note buttons {"OK"} with title "Backup" giving up after 10
	
	do shell script "rsync -avuE /ORDNER-AUF-HD/ /Volumes/USBSTICK/ > /Users/karl/logrsync/rsync.log || echo -n"
	do shell script "rsync -avuE /Volumes/USBSTICK/ /ORDNER-AUF-HD/ > /Users/karl/logrsync/rsync.log || echo -n"
	
	display dialog "Synchronisierung erfolgreich."
	
end if

Das ist aber nicht im Sinne des Erfinders, oder?
Helft mir doch bitte mal kürz auf die Sprünge, wie es eigentlich lauten sollte.
Ich steh' irgendwie voll auf'm Schlauch.

lg
KC
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
rsync kann nur ein eine Richtung synchronisieren.
 

FrankR

Gascoynes Scharlachroter
Registriert
15.11.07
Beiträge
1.537
Wie der Vorposter schon schrieb, geht nur in eine Richtung. Ist ja auch klar, denn was soll der rsync() sonst bei Dateien tun, die auf beiden Systemen vorhanden sind. Das was Du willst, könntest Du mit 2 x Rsync jeweils in abwechselnde Richtung (A->B, B->A) erreichen, wobei natürlich Dateien mit gleichem Namen danach dem Stand auf dem letztem Quell-System (B) entsprechen. Natürlich darfst Du jeweils nicht die delete Option verwenden.

Wobei rsync eigentlich eher zum Sync zwichen verschiedenen Hosts gedacht ist...
 

Kai-Christoph

Empire
Registriert
17.02.06
Beiträge
87
Na dann habe ich es ja wohl richtig gemacht! ;)

Und was heißt denn hier "Pseudo-Code"? :p
 

philo

Roter Stettiner
Registriert
13.10.04
Beiträge
973
Mal ne andere Frage. Wie werden die Dateien auf dem USB-Stick erstellt? Offline mit nem Notebook? Wenn der andere Rechner immer online ist, dann solltest du dir mal Dropbox anschauen.
 

Kai-Christoph

Empire
Registriert
17.02.06
Beiträge
87
Entspricht ganz meinem Wesen: Ich bin halt 'en alde Simpel! :-D

Und in Verbindung mit "Do Something When" funktioniert das prima!
USB Stick einstecken und schon werden die Ordner automatisch gesynct.
 

Kai-Christoph

Empire
Registriert
17.02.06
Beiträge
87
Mal ne andere Frage. Wie werden die Dateien auf dem USB-Stick erstellt? Offline mit nem Notebook? Wenn der andere Rechner immer online ist, dann solltest du dir mal Dropbox anschauen.

Wie gesagt, der "Workflow" ist für meinen Schwiegervater, der es nicht so einfach gebacken bekommt, seine wichtigen Daten von einem Rechner zum anderen zu kopieren. Auf diesem Weg muss er sich um nichts kümmern. Und er kann es auch ohne Online zu sein verwenden.

Dropbox benutze ich selbst schon lange, und ich liebe es!
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Aber wenn du die delete-Option weg lässt, kann er quasi keine Daten mehr löschen — außer wenn manuell auf beiden Seiten gelöscht wird.

Du könntest auch zwei Programme bauen, eines für die eine Richtung und eines für die andere.
 
Zuletzt bearbeitet:

Kai-Christoph

Empire
Registriert
17.02.06
Beiträge
87
So soll es auch sein. Nur manuelles Löschen sollte Dateien verschwinden lassen... ;)
 

ImperatoR

Roter Astrachan
Registriert
02.12.06
Beiträge
6.261
Wenn das die Intension des Schöpfers ist, dann ist ja alles geritzt.
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Wobei rsync eigentlich eher zum Sync zwichen verschiedenen Hosts gedacht ist...

Eigentlicht ist es das eher nicht.

Die hoechst eigene manpage zu rsync sagt:
rsync -- a fast, versatile, remote (and local) file-copying tool

Meiner Erkenntnis nach macht die Dropbox selbst auch nichts anderes, mal davon abgesehen, dass da noch eine Versionierung hinter ist.


Und was macht Unison jetzt besser, was nicht schon sauber durch die rsync-cmds von Kai geloest wurde?
 

boecko

Gala
Registriert
09.12.06
Beiträge
51
Und was macht Unison jetzt besser, was nicht schon sauber durch die rsync-cmds von Kai geloest wurde?

Oh unison gleicht in beide Richtungen ab und nutzt dabei den rsync-Algorithmus
siehe
http://de.wikipedia.org/wiki/Unison_(Programm)

Es merkt sich den letzten Stand der Dateien und kann daher entscheiden, welche ohne Probleme kopiert werden darf.
Falls eine Datei auf beiden Seiten verändert wurde, wird das angezeigt.
Wird eine Datei auf der einen Seite eine Datei gelöscht, wird das auf der anderen Seite auch gemacht (wenn nicht mehr bearbeitet).

Und es gibt neben der Commandline-Variante auch noch ne GUI für Mac, Linux und Windows