highend01
Goto Top

Rsync - seltsame Probleme mit Umlauten

N'abend zusammen,

irgendwie bin ich gerade über ein seltsames Problem bei der Verwendung von rsync gestolpert.

1.te Vorgehensweise:

Eingabeaufforderung geöffnet (ohne Adminrechte).
set Home=/Rsync
D:
cd \Users\Highend\Tools\Rsync

rsync.exe -v -P -h -rlt -z --chmod=a=rw,Da+x --modify-window=2 --delete --exclude-from "/cygdrive/D/Users/Highend/Tools/XYplorer/Data/Scripts/highend/.Rsync/hidrive_excluded_files.txt" -e "/cygdrive/D/Users/Highend/Tools/Rsync/ssh.exe -o StrictHostKeyChecking=no -l hidriveusername -i /cygdrive/D/Users/Highend/Tools/Rsync/.Keyfiles/hidriveusername/ssh2_strato_hidriveusername" "/cygdrive/D/Users/Highend/Downloads/Default/öööüüä.vbs" hidriveusername@rsync.hidrive.strato.com:"/public/updates/Users/hidriveusername/Downloads/Default"  

Die gewählte Datei (öööüüä.vbs) wird bei dieser Variante einwandfrei übertragen:
sending incremental file list
öööüüä.vbs
       1.78K 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 644 bytes  received 31 bytes  270.00 bytes/sec
total size is 1.78K  speedup is 2.64

2.te Vorgehensweise:

Eigentlich findet diese Übertragung über eine Batchdatei statt, nicht über die direkte Eingabe des rsync Kommandos.

Hier also kurz die zugehörige Batchdatei (Pfad: C:\Users\Highend\AppData\Local\Temp\~rsync.bat):

@Echo off
setlocal enabledelayedexpansion

SET Drive=D:
SET WorkingDir=\Users\Highend\Tools\Rsync

SET HOME=/Rsync

%Drive%
CD %WorkingDir%
SET WorkingDir=%cd%

rsync.exe -v -P -h -rlt -z --chmod=a=rw,Da+x --modify-window=2 --delete --exclude-from "/cygdrive/D/Users/Highend/Tools/XYplorer/Data/Scripts/highend/.Rsync/hidrive_excluded_files.txt" -e "/cygdrive/D/Users/Highend/Tools/Rsync/ssh.exe -o StrictHostKeyChecking=no -l hidriveusername -i /cygdrive/D/Users/Highend/Tools/Rsync/.Keyfiles/hidriveusername/ssh2_strato_hidriveusername" "/cygdrive/D/Users/Highend/Downloads/Default/öööüüä.vbs" hidriveusername@rsync.hidrive.strato.com:"/public/updates/Users/hidriveusername/Downloads/Default"  

Prinzipiell also 0 Unterschiede zur manuellen Vorgehensweise.

Starte ich das Ganze jetzt also über die Batchdatei dann bekomme ich folgenden Output:

sending incremental file list
rsync: link_stat "/cygdrive/D/Users/Highend/Downloads/Default/÷÷÷³³õ.vbs" failed : No such file or directory (2)  
FATAL I/O ERROR: dying to avoid a --delete-during issue with a pre-3.0.7 receiver.
rsync error: requested action not supported (code 4) at flist.c(1823) [sender=3.0.8]

Manuell ausgeführt hat rsync keine Probleme, die Datei zu finden und zu übertragen, über eine Batchdatei hingegen wird die gleiche Datei nichteinmal mehr gefunden.

Das Ganze unter Windows 7 Ultimate, x64, Deutsch.
rsync (v3.0.8) stammt übrigens aus der aktuellsten Ausgabe vom cwrsync Paket (http://www.itefix.no/i2/node/10650)

Hat jemand eine Ahnung, warum die Variante über die Batchdatei nicht funktioniert?

Danke und Gruß.

Content-ID: 170685

Url: https://administrator.de/contentid/170685

Ausgedruckt am: 18.12.2024 um 19:12 Uhr

Friemler
Friemler 31.07.2011 um 10:15:31 Uhr
Goto Top
Hallo Highend01,

wahrscheinlich hast Du Dein Batchscript mit Notepad gespeichert. Notepad speichert in ANSI-Codierung, die Kommandozeile arbeitet aber mit ASCII-Codierung. Du musst Dein Batchscript mit einem Editor speichern, der ASCII-Codierung beherrscht, z.B. Notepad++ mit der Einstellung OEM850 für die Codierung.

Gruß
Friemler
Highend01
Highend01 31.07.2011 um 10:46:46 Uhr
Goto Top
Hallo Friemler,

ich hab mir versuchsweise Notepad++ geholt, die ~rsync.bat geöffnet, die Enkodierung per "Encoding - Character sets - Western European - OEM 850" gewechselt, abgespeichert und die .bat neu aufgerufen.

Gleiche Fehlermeldung wie zuvor.

Der Enkodierungswechsel war allerdings erfolgreich, die Statuszeile zeigt dies entsprechend an (Dos\Windows OEM 850).

So sieht der zu übertragende Dateiname in der Batchdatei nach der Konvertierung aus:
"/cygdrive/D/Users/Highend/Downloads/Default/÷÷÷³³õ.vbs"  

Gruß,
highend
Friemler
Friemler 31.07.2011 um 11:02:41 Uhr
Goto Top
Hallo Highend01,

dann schreibe den Dateinamen nochmal neu in die Batchdatei, und zwar wenn der Code in Notepad++ geladen und die Codierung auf OEM850 eingestellt ist....

Gruß
Friemler