Donnerstag, 25. Februar 2010

Strato HiDrive und das rsync-Problem

Strato HiDrive Neulich habe hier HiDrive vorgestellt, den Onlinespeicherplatz von Strato. Das aus meiner Sicht besondere an HiDrive ist die Vielzahl der unterstützten Zugangswege, mit denen man Zugriff auf die Daten bekommt.
Einer davon ist auch rsync. Bei rsync handelt es sich um ein Tool bzw. Protokoll aus dem Unix-Umfeld, mit dem man Dateien synchronisieren kann. Daheim nutze ich rsync schon auf der NSLU2 seit einer gefühlten Ewigkeit – zum einen für eine Art interne Spiegelung, zum anderen aber auch zum Backup von Verzeichnissen wie Fotos etc. von meinen Windowskisten.
Was liegt also näher, als mittels rsync ein paar Daten bei Strato in meinen verfügbaren 20GB abzulegen?
Strato hat (nicht nur zum Thema HiDrive) eine sehr umfangreich Liste mit häufig gestellten Fragen (und den dazugehörigen Antworten: FAQ) im Netz, unter anderem auch einen Artikel zur Nutzung von rsync mit dem HiDrive, aus dem ich hier mal zitiere:

Der Befehl um den Inhalt eines lokalen Verzeichnisses inklusive seiner Unterverzeichnisse in ein Verzeichnis im Storage-Bereich zu übertragen lautet:

rsync -avzre "ssh" /ordner Benutzername@rsync.hidrive.strato.com:/benutzer/backup

Dieser Befehl würde den kompletten Inhalt Ihres lokalen Verzeichnisses "ordner" inklusive aller Unterordner in das Verzeichnis "backup" auf Ihrem STRATO HiDrive sichern. Fügt man den Optionen noch ein -delete hinzu werden Dateien/Verzeichnisse, die im lokalen Verzeichnis NICHT vorhanden sind im Zielordner des STRATO HiDrive gelöscht.
Beispiel

rsync -delete -avze "ssh" /ordner Benutzername@rsync.hidrive.strato.com:/benutzer/backup
Nun ja, sieht ja gar nicht so schwer aus. Kann man ja mal ausprobieren. Also ran an das System und den Befehl da reingehackt (der Benutzername sei hier einmal “doofmann” und hier soll die Datei README auf das HiDrive kopiert werden):
//NSLU2~/ebay/esniper_2.17.1# rsync -avze "ssh" README doofmann@rsync.hidrive.strato.com:/doofmann/backup/
doofmann@rsync.hidrive.strato.com's password:
sending incremental file list
skipping daemon-excluded destination "/doofmann/backup"
rsync error: errors selecting input/output files, dirs (code 3) at main.c(523) [receiver=3.0.5]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [sender=3.0.3]
Okay, klappt also nicht. Jetzt kann man also Google bemühen und diverse abgewandelte rsync-Befehlsketten ausprobieren – nur, es hilft nix. So wie beschrieben geht es nicht.

Des Rätsels Lösung …

… ist ein übereifriger Übersetzer der FAQ – der Beispielaufruf ist einfach falsch. Da hat jemand “users” in “benutzer” übersetzt. So kann das nichts werden, der richtige Aufruf lautet somit wie folgt (man beachte auch den Benutzernamen im Zielpfad!):
rsync –avzre “ssh” /ordner Benutzername@rsync.hidrive.strato.com:/users/Benutzername/backup
An meinen Beispiel (ohne Option r also ohne Unterordner):
//NSLU2~/ebay/esniper_2.17.1# rsync -avze "ssh" README doofmann@rsync.hidrive.strato.com:/users/doofmann/backup/
doofmann@rsync.hidrive.strato.com's password:
sending incremental file list
created directory /users/doofmann/backup
README

sent 322 bytes  received 31 bytes  78.44 bytes/sec
total size is 365  speedup is 1.03

Aha. Schöner Fehler. Von Strato.

Danke auch an AMK für seinen kritischen und hilfreichen Blick!

blog comments powered by Disqus

Design von Dicas Blogger, angepasst durch Mario Ruprecht