Rorschachs Tagebuch

rsync von ext nach fat Januar 16, 2009

Filed under: Linux — Rorschach @ 20:38
Tags: , , ,

Normalerweise benutzte ich beim Syncen unter ext Dateisystemen immer folgende Syntax:

rsync -avzc --progress sourcedir/* targetdir/

Die einzelnen Parameter machen dabei folgendes:

-a : behält symbolische Links, Dateirechte bei, synced 
     rekursiv den Quellordner und dessen Inhalt

-v: gibt etwas verbose output wie welche Dateien gesynct 
    werden, wieviele Daten übertragen wurden und die Durch-
    schnittsgeschwindigkeit des gesamten Vorganges

-z: komprimiert die Daten während des Synchronisierens (nicht immer sinnvoll)

-c: das macht den Unterschied zwischen Syncen und normalem Kopieren und
    Überschreiben aus denn mit dieser Flag werden nur Dateien zum Ziel kopiert
    welche noch nicht da sind bzw. sich verändert haben

--progress: zeigt einem den Fortschritt an und die momentane Übertragungs-
            geschwidigkeit

Zumindest die -av Syntax dürfte wohl die meist verbreitete bei der Benutzung von rsync sein und wird auch in den Beispielen der Manpage verwendet.

Wenn man jedoch nun von einer ext- auf eine fat-Partition syncen möchte dann gibt es damit Probleme, denn die Dateirechte können dabei nicht behalten werden und wenn man -a benutzt werden die Dateien zwar trotzdem gesynct jedoch wird die Shell dabei mit Fehlern zugespammed da rsync für jede einzelne Datei und jeden einzelnen Ordner anmerkt, dass er chmod nicht darauf anwenden konnte um die Dateirechte zu setzen.

Das ganze kann man jedoch ganz leicht beheben indem man den -a einfach durch den -r Switch ersetzt. Beide syncen rekursiv die Angegebene Quelle zum Ziel, wobei -r jedoch im Gegensatz zu -a nicht versucht die Dateirechte zu behalten, was auf einer fat-Partition auch einfach nicht geht.

Wer rsync noch nicht kennen sollte dem kann ich nur raten es sich mal anzusehen, denn es ist nicht nur zum Synchronisieren sondern auch zum Kopieren gut, vor allem wenn man die Geschwindigkeit des Kopiervorganges sehen möchte, was cp leider nicht kann mit rsync mittels

--progress

jedoch kein Problem ist.

 

2 Responses to “rsync von ext nach fat”

  1. onli Says:

    Hi
    wollte nur kurz anmerken, dass cp das doch kann. Nicht standardmäßig unter Ubtuntu, aber z.B. unter Gentoo. Es müssen halt die coreutils gepatcht werden (was bei mir zu einigen Problemen führte – aber der Fortschrittsbalken funktionierte).

  2. Rorschach Says:

    Ja das hatte ich auch irgendwo gelesen aber der Patch ist nur in wenigen Distris enthalten, wie du bereits sagtest Ubuntu kann das leider nicht. Genausowenig Debian, Archlinux, Fedora und Sun (hab die gerade mal gecheckt).

    Bei Gentoo und den Distris wo der Patch drauf ist geht es mit -g bzw. –progress. Es gibt jedoch ein paar workaround Skripte: http://www.linuxquestions.org/questions/linux-general-1/cp-progress-bar-407381/?s=6d3b861de8c7200455d896544b6f965a . Doch warum sollte man die nutzen wenn man rsync hat🙂


Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s