staging.inyokaproject.org

Mit Rsync Verzeichnis, dessen Pfad Sonderzeichen enthält, abgleichen

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.10 (Oneiric Ocelot)
Antworten |

gunwald

Anmeldungsdatum:
12. Juli 2010

Beiträge: 218

Liebe Leidensgenossen,

ich würde gerne mit rsync einen Ordner abgleichen, allerdings stoße ich aufgrund der Tatsache, daß der Ordner deutsche Sonderzeichen enthält auf Probleme. Mein Rsync-Kommando sieht wie folgt aus:

1
rsync -Pavzbe ssh user@server.com:"/home/user/Bücher" /home/user/

ich bekomme folgende Nachricht

1
2
3

Unexpected remote arg: user@server.com:/home/gast/B\\#303\#274cher
rsync error: syntax or usage error (code 1) at main.c(1232) [sender=3.0.8]

Ich habe es auch mit folgendem Befehl probiert:

1
rsync -Pavzbe --iconv=CP1250,UTF-8 ssh user@server.com:"/home/user/Bücher" /home/user/

Wer kann helfen?

Orakle

Anmeldungsdatum:
16. Januar 2012

Beiträge: Zähle...

Welche Version von Rsync verwendest du?

hast du es mal mit iso8859-15 probiert? utf8 hat wohl nicht geklappt deinem Post zufolge

gunwald

(Themenstarter)

Anmeldungsdatum:
12. Juli 2010

Beiträge: 218

Liebes Orakle,

habe es eben versucht, gibt den gleichen Fehler. Die Rsyc-Version ist:

1
2

rsync  version 3.0.8  protocol version 30

Vielen Dank für die Antwort Gunwald

gunwald

(Themenstarter)

Anmeldungsdatum:
12. Juli 2010

Beiträge: 218

Kann denn keiner helfen? Hier sind doch so viele Rsync-Experten unterwegs!

u1000

Anmeldungsdatum:
2. Oktober 2011

Beiträge: 1850

Hi,

poste/vergleiche mal von beiden Rechnern die Einstellung

locale

gunwald

(Themenstarter)

Anmeldungsdatum:
12. Juli 2010

Beiträge: 218

Danke für die Antwort!

Die Einstellungen auf dem Quellrechner sind:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
LANG=de_DE.UTF-8
LANGUAGE=de:en
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE=de_DE.UTF-8
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES=de_DE.UTF-8
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Auf dem Zielrechner:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
LANG=de_DE.UTF-8
LC_CTYPE=de_DE.UTF-8
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE=de_DE.UTF-8
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES=de_DE.UTF-8
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=

Das Merkwürdige aber ist, ich bekomme die gleiche Fehlermelung auch, wenn ich den Befehl dergestalt ausführe, das Ziel und Quelrechner identisch sind. Ich bin wirklich ratlos!

u1000

Anmeldungsdatum:
2. Oktober 2011

Beiträge: 1850

Hi gunwald.

  • Unterschied: "LANGUAGE=de:en" ist beim Quellrechner gesetzt - die Auswirkung kenne ich nicht.

  • was ist, wenn die rsync Befehlszeile keine Sonderzeichen enthält ? Also z.B. mal den übergeordeneten Pfad angeben, so dass Umlaute nur in den Unterverzeichnissen sind ?

  • mit einem symbolichen Link arbeiten: also ln -s /home/user/Bücher /home/user/Buecher - in rsync dann also /home/user/Buecher verwenden.

  • Frage: Bist du direkt auf dem Quellrechner ? Terminal Typ ? Oder remote per putty/ssh ?

gunwald

(Themenstarter)

Anmeldungsdatum:
12. Juli 2010

Beiträge: 218

Danke für die Antwort! Ohne Umlaute im Verzeichnis funktioniert alles wunderbar. Auch die Verzeichnisse, die Umlaute im Namen enthalten, werden richtig übertragen, solange sie nicht im Pfad auftauchen.

Die Idee mit den symbolischen Links ist gut. Aber mich würde jezt doch interessieren, ob irgendjemand den Fehler bestätigen kann.

Frage: Bist du direkt auf dem Quellrechner ? Terminal Typ ? Oder remote per putty/ssh ?

Es handelt sich bei den Rechnern um Ubuntus bzw. Debiane. Das heißt in diesem Fall, der Quellrechner (Ubuntu) wird über gnome-terminal bedient, der Zielrechner (Debian) über SSH.

Antworten |