ubuntuusers.de

Dateien über diff synchronisieren

Status: Ungelöst | Ubuntu-Version: Xubuntu 8.04 (Hardy Heron)
Antworten |

Tlyman

Avatar von Tlyman

Anmeldungsdatum:
16. November 2007

Beiträge: 51

Hallo zusammen,

ich habe ein kleines Ärgernis, das ich bisher auch mit längerer Google-Suche nicht direkt lösen konnte. Ich habe einen Ordner mit Bildern in meinem Home-Verzeichnis (ext3-Partition) und einen auf einer FAT32-Partition für Windows. Diese Ordner möchte ich einfach nur alle paar Monate abgleichen, ungeachtet des Datums, der Dateirechte u.ä.

Unter Windows habe ich immer Total Commander benutzt, der eine Funktion hat, um zwei Ordner zu vergleichen und fehlende Dateien nach Bedarf zu kopieren. Unter Xubuntu benutze ich Gnome Commander, dessen Menüpunkt Synchronize Directories anscheinend keine Auswirkung hat, und auch Verzeichnisse vergleichen markiert alle Dateien, wahrscheinlich wegen der unterschiedlichen Rechte.

Also habe ich mich auf die Suche gemacht und bin auf Unison gestoßen, was ich eigentlich aber nicht extra installieren möchte, da dort anscheinend Profile angelegt werden, der letzte Status der Dateien gespeichert wird, usw., was mir zu viel des Guten zu sein scheint. Ich möchte nur ab und zu ein paar fehlende Dateien zu kopieren und brauche keine großartige Backup-Funktionalität.

Danach bin ich bei diff fündig geworden, was ich gern verwenden würde. Mein Laptop ist etwas älter und mir käme es gelegen, wenn ich solche simplen Tools nutzen könnte, die bereits vorhanden sind. Beim ersten Test mit

diff windowsordner/ linuxordner/

wurden mir auch die fehlenden Dateien in den jeweiligen Ordnern angezeigt. Jetzt habe ich mir gedacht, dass es eigentlich eine schnelle Möglichkeit geben muss, diese Ausgabe zu verwenden, um Dateien automatisch zu kopieren. Kennt jemand da z.B. ein entsprechendes Unix-Tool, oder muss ich tatsächlich Unison o.ä. installieren?

Viele Grüße, Tlyman

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Hallo Tlyman,

schau dir mal rsync an. Damit kannst du bequem Ordner synchronisieren. Es gibt sogar eine grafische Oberfläche dazu 😉

Gruß Martin

Tlyman

(Themenstarter)
Avatar von Tlyman

Anmeldungsdatum:
16. November 2007

Beiträge: 51

Hallo Martin,

danke für die schnelle Antwort. Das Tool ist mir auch über den Weg gelaufen, aber beim Test mit

rsync -n windowsordner/* linuxordner/

hat sich nichts getan, vielleicht wegen der unterschiedlichen Dateisysteme. Außerdem synchronisiert rsync doch nur in eine Richtung, oder?

Grüße, Tlyman

xrolly

Avatar von xrolly

Anmeldungsdatum:
26. September 2007

Beiträge: 4322

Wohnort: NRW; 51° 39′ N, 7° 21′ O

Hallo Tlyman, vllt. mal hier reinschnuppern um das Programm und seine Faehigkeiten kennen zu lernen:

Netten Gruss, xrolly

MrKanister

Anmeldungsdatum:
13. Oktober 2007

Beiträge: 2105

Unterschiedliche ateisysteme sollten nur Probleme machen, wenn es dir um Zeitstempel und um Rechte geht.

Du hast rsync nur falsch aufgerufen. Die Benutzung kann nämlich tricky sein ☺. Hier ein Beispiel, wie ich es benutze:

1
rsync -vn -a --delete /home/martin/ /media/disk/linux/home/

Das -v steht nur für verbose und zeigt, was gemacht wird und das -a behält Zeitstempel und Rechte bei, also beides Unwichtig. --delete löscht die Dateien, die nicht mehr im Quellordner sind aus dem Zielordner. Wenn du in beide Richtungen synchronisieren willst, dann solltest du das natürlich nicht benutzen (Es gibt auch noch ein anderes Tool zu synchronisieren. Wir haben auch einen Wiki-Artikel dazu, aber ich komm im Moment einfach nicht drauf).

Jetzt die wichtige Stelle:

1
rsync /home/martin/ /media/disk/linux/home/

Das bedeutet, synchronisiere den Inhalt von /home/martin/ in das Verzeichnis /media/disk/linux/home/. Wenn ich nun das schreibe:

1
rsync /home/martin /media/disk/linux/home/

(Der Shalsh hinter /home/martin/ weg), dann erstellt er im Verzeichnis /media/disk/linux/home/ einen ordnre mit dem Namen martin und synchronisiert dorthin.

Ahh...habs gefunden... ▶ Unison

Damit kann man zwei Verzeichnisse untereinander abgleichen, also in beide Richtungen synchronisieren. hab es zwar noch nie benutzt, aber es soll wohl funktionieren 😉

Gruß Martin

Tlyman

(Themenstarter)
Avatar von Tlyman

Anmeldungsdatum:
16. November 2007

Beiträge: 51

Hallo,

sorry für die späte Antwort, irgendwie scheint meine Email-Benachrichtigung nicht zu funktionieren.
Mein Aufruf von rsync scheint mir genauso auszusehen wie der in dem EasyLinux-Artikel, nur kriege ich bei mir keine Ausgabe. In dem Artikel wird aber auch noch einmal betont, dass "rsync grundsätzlich nur in eine Richtung arbeitet", also nicht unbedingt für meine Zwecke geeignet wäre.

Daher habe ich auch in meinem ersten Post Unison angeführt, welches ich aber zunächst nicht installieren wollte, in der Hoffnung, dass es vielleicht ein (bereits in der Standardinstallation vorhandenes) Unix-Programm gibt, das die diff-Ausgaben für das korrekte Kopieren nutzt. Ich dachte mir, dass es so etwas geben muss, denn wofür sollte die Ausgabe sonst gut sein? Bei vielen Dateien kann man sie ja nicht manuell auswerten.

Vielleicht habe ich einfach mein Ziel vorher nicht genau genug formuliert:
Ich suche ein Unix-Tool für die Konsole, das die Ausgabe von diff bei einem Ordnervergleich benutzt, um Dateien, die jeweils in einem Ordner fehlen, zu kopieren.
Das soll in beide Richtungen funktionieren und ich brauche keine in meinem Fall überschüssigen Backup-Funktionen wie bei Unison.

Danke für die bisherigen Antworten und viele Grüße,
Tlyman

Antworten |