MacOS rsync: Zeichensalat

Ähnliches Problem wir hier.

Insbesondere beim Verwenden von „–delete“ kommt die von MacOS mitgelieferte rsync-Version nicht mit Sonderzeichen klar. Daten mit Umlauten werden jedes mal gelöscht und danach erneut übertragen. Die mitgelieferte Version (2.6.9) hat noch keinen iconv-Support zum Konvertieren der Zeichensätze.

Abhilfe schafft es rsync 3.x zu installieren: Entweder selbst kompilieren oder ein Binary von z.B. hier verwenden. Rsync liegt danach unter /usr/local/bin/.

Für den Zeichensatz des Macs gibt es ein pseudo-UTF8: „UTF8-MAC“. So klappt es dann endlich mit dem rsync (hier Mac <=> Linux):

/usr/local/bin/rsync -av --delete --iconv=UTF8-MAC,UTF8 -e ssh otto@192.168.24.27:/home/otto/data/ data/

Duplicity: Verschlüsseltes Remote-Backup

Derzeit bin ich auf der Suche nach einem geeignetem Weg um meinen Homeserver ins Rechenzentrum zu sichern. Zunächst ist mir natürlich rsync over ssh eingefallen, aber ich hätte die Daten gerne auf der Remote-Seite verschlüsselt abgelegt… Mit TrueCrypt lokal einen Backup-Container anlegen und dann per rsync sichern? Zu unflexibel. Auf der Remote-Seite einen TrueCrypt Container anlegen? Toll, mindestens jeder root-user kommt ran 😉

Was sich als Ideal herausstellt ist das Tool „duplicity„. Mir ist es irgendwann schon mal aufgefallen da es bei der Synchronisation mit Amazon S3 auch auf librsync setzt. Das es auch verschlüsselt war mir irgendwie entfallen.

Um nur ein paar Features zu nennen: Verschlüsselung mittels gnuPG, Vollsicherung, Incrementelle Sicherung. Dabei setzt es wie gesagt auch die Trafficschonende rsync library ein.

Der Clou sind aber auch die unterstützten Backends/Transportwege. Neben ssh und ftp tauchen auch u.A.  AmazonS3 und sogar IMAP in der Liste auf…

Das werde ich auf jeden Fall testen!

rsync: Zeichensatzsalat

Beim rsyncen von Daten auf Dateisystemen mit verschiedenen Zeichensätzen (z.B. von NTFS Partitionen), treten je nach Quell und Zielzeichensätzen immer mal Inkompatibilitäten auf.

Rsync meldet in einem solchen Fall dann z.B.:

rsync: recv_generator: failed to stat "/media/DATEN/W\#374nsch Dir Was.mp3":
Invalid or incomplete multibyte or wide character (84)

Gelöst habe ich das Problem, indem ich rsync den Parameter „–iconv=<lokaler Zeichensatz>,<remote Zeichensatz>“ mitgegeben habe:

rsync --iconv=UTF8,ISO8859-1 -avn -e ssh root@192.168.2.20:/data/MP3/ /media/DATEN/

Rsync Fortschrittsanzeige

Da ich gerade mehrere Gigabyte von Platte zu Platte kopiere (dazu später mehr) habe ich mich gefragt ob rsync nicht auch während der Synchronisierung eine Fortschrittsanzeige mit Übertragungsgeschwindikeit einblenden kann. Ja, rsync kann:

rsync --progress -a /source /target