Bugs, IT

rsync und Zeichenkodierungen

Ich wollte letztens von meinem alten NAS eine Platte kopieren mit rsync.

sudo rsync -avXz user@192.168.45.24:/media/sdd/ /media/Sicherung/nas/sdd/ --rsync-path="sudo rsync"    

Und dabei kam folgende Fehlermeldung:

rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1956) [generator=3.5.0-g471e17dc]

Was war da los und welche Dateien sind gemeint? Um das rauszufinden, erstmal klären, welche Dateien noch auf dem NAS sind und welche nur auf dem Sicherungsrechner:

NAS im Ordner /media/sdd:

find . -type f > NAS-sdd.txt 

Und auf dem Rechner Sicherung im Ordner /media/Sicherung/nas/sdd/:

find . -type f > Sicherung-sdd.txt 

Diese Dateien sind nicht geordnet, wie man sich einfach mit head -1 NAS-sdd.txt ansehen kann. Damit ist diff erstmal raus.

Aber wir sind auf Linux und da gibt's für was alles eine Lösung:

comm -3 <(sort NAS-sdd.txt) <(sort Sicherung-sdd.txt) 

Ordnet uns die Zeilen und zeigt uns gleich, welche nur auf dem NAS vorhanden sind, was ungefähr so aussah:

/home/user/bilder/tr�bes-wetter.jpg

Was so viel bedeutete, dass mein altes System auf CP850 und mein neues auf UTF-8 lief. Jetzt musste nur noch rsync beigebracht werden, dass es die Zeichensätze mitübersetzte:

sudo rsync -avXzin kowo@192.168.0.247:/media/sda/data/book/Zeichnen/ /mnt/3gig/Sicherung/nas/sda/data/book/Zeichnen/ --rsync-path="sudo rsync" --iconv=UTF-8,CP850   

Und fertig.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert