1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Wie mit rsync Bidirektional syncen?

Dieses Thema im Forum "Unix & Terminal" wurde erstellt von Kai-Christoph, 07.01.10.

  1. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    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
     
  2. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    Hat denn wirklich keiner eine Idee? :(
     
  3. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    rsync kann nur ein eine Richtung synchronisieren.
     
  4. FrankR

    FrankR Kleiner Weinapfel

    Dabei seit:
    15.11.07
    Beiträge:
    1.144
    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...
     
  5. philo

    philo Roter Stettiner

    Dabei seit:
    13.10.04
    Beiträge:
    973
    Genau das macht er ja in seinem Pseudo-Code.
     
  6. FrankR

    FrankR Kleiner Weinapfel

    Dabei seit:
    15.11.07
    Beiträge:
    1.144
    mea culpa - hatte nicht ganz zu Ende gelesen ...
     
  7. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    Na dann habe ich es ja wohl richtig gemacht! ;)

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

    philo Roter Stettiner

    Dabei seit:
    13.10.04
    Beiträge:
    973
    Verzeih mir bitte. Sehe gerade dass es ja echter code ist. Habe zwar schon ab und zu mal AppleScript gesehen, aber das ist ja wirklich simpel. Durch den vielen Text, sah es halt so pseudo aus.
     
  9. philo

    philo Roter Stettiner

    Dabei seit:
    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.
     
  10. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    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.
     
  11. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    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!
     
  12. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    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.
     
    #12 ImperatoR, 07.01.10
    Zuletzt bearbeitet: 07.01.10
  13. Kai-Christoph

    Kai-Christoph Empire

    Dabei seit:
    17.02.06
    Beiträge:
    86
    So soll es auch sein. Nur manuelles Löschen sollte Dateien verschwinden lassen... ;)
     
  14. ImperatoR

    ImperatoR Ananas Reinette

    Dabei seit:
    02.12.06
    Beiträge:
    6.235
    Wenn das die Intension des Schöpfers ist, dann ist ja alles geritzt.
     
  15. boecko

    boecko Gala

    Dabei seit:
    09.12.06
    Beiträge:
    51
  16. Irgendein Held

    Irgendein Held Oberösterreichischer Brünerling

    Dabei seit:
    17.06.07
    Beiträge:
    714
    Eigentlicht ist es das eher nicht.

    Die hoechst eigene manpage zu rsync sagt:
    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?
     
  17. boecko

    boecko Gala

    Dabei seit:
    09.12.06
    Beiträge:
    51
    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
     

Diese Seite empfehlen