[Howto] rsync QNAP zu Strato HiDrive

  • Um für einen Teil der Daten auf meinem QNAP eine Sicherungskopie auf dem HiDrive von Strato zu erstellen, benutze ich folgende Hard- und Software:


    Hardware:

    • QNAP TS-110
    • Sinus 1054 DSL als Router
    • PC mit Windows 7 Professional


    Software:

    • WinSCP
    • Putty


    Einstellungen in HiDrive

    • Anmelden auf https://hidrive.strato.com/
    • In "Einstellungen/Kontenverwaltung/Admin- und Protokollrechte" "rsync über SSH" aktivieren.
    • Unter "Dateimanager" das Backup-Verzeichnis anlegen.


    Damit das QNAP sich nicht beim HiDrive anzumelden braucht (was bei einem automatischen Backup störend wäre), muss auf dem QNAP ein Schlüssel erzeugt werden, der zum HiDrive hochgeladen wird.

    • Dazu zunächst Putty starten und am QNAP anmelden. Dort dann folgendes Kommando eingeben:

      Code
      ssh-keygen -t rsa


      Es wird dann ein Dateiname abgefragt sowie ein Kennwort. Der Dateiname ist beliebig und die erstellte Datei wird im Weiteren auch gar nicht verwendet. Dass Passwort sollte leergelassen werden. (Einfach zweimal die Eingabetaste drücken.)

    • Danach WinSCP starten und ebenfalls am QNAP anmelden.
    • In das Verzeichnis "/root/.ssh" wechseln.
    • Die Datei "id_rsa.pub" auf den Windows PC kopieren.
    • Auf dem HiDrive unter "Einstellungen/Kontenverwaltung" auf "OpenSSH-Schlüssel" klicken.
    • Dort den eben erzeugten und auf den PC kopierten Schlüssel auswählen und zum HiDrive hochladen.


    Im HiDrive ist er jetzt in der Liste der Schlüssel sichtbar.


    Im letzten Schritt muss jetzt noch der rsync-Befehl eingerichtet werden.

    • In WinSCP auf dem QNAP in das Verzeichnis "/etc/config" wechseln.
    • Mit Doppelklick die Datei "crontab" im Editor laden.
    • Dort für jedes rsync-Kommando eine neue Zeile anlegen. Einer meiner rsync-Befehls sieht wie folgt aus:

      Code
      0 2 * * * rsync --delete --log-file=/share/HDA_DATA/Sebastian/cron_log_Public.txt -e ssh -avvzP /share/HDA_DATA/Public sebastian@rsync.hidrive.strato.com:/users/sebastian/Backup_Beer-Server-1


      Die ersten fünf Ziffern legen die Startzeit fest. In dem Beispiel ist das jede Nacht um zwei Uhr.
      Dann kommt der rsync-Befehl.
      Und die Optionen:
      --delete löscht Dateien vom HiDrive, die auf dem QNAP ebenfalls gelöscht wurden.
      --log-file legt ein Log-File mit dem Namen "cron_log_Public.txt" im Verzeichnis des Users "Sebastian" auf dem QNAP ab an. Dieses ist nur erforderlich, wenn man nachvollziehen möchte, was beim letzten Backup passiert ist.
      -e ssh legt fest, dass eine sichere Übertragung durch ssh stattfindet.
      -a legt fest, dass auch Unterverzeichnisse mit einbezogen werden.
      -vv legt fest, dass ausführliche Informationen in die Log-Datei geschrieben werden. Wenn dann einmal alles gut funktioniert, kann man das auch auf -v ändern.
      -z schaltet Kompression bei der Übertragung ein.
      -P ermöglicht das Übertragen auch von Teilen einer Datei.
      Dann folgt das Verzeichnis auf dem QNAP, das gesichert werden soll.
      Und zuletzt das Verzeichnis auf dem HiDrive, in das das Backup geschrieben wird. Hier muss man den eigenen Kontonamen und das Zielverzeichnis eintragen.
      Sinnvoll ist es, den rsync-Befehl in Putty zu kopieren und dort einmal manuell auszuprobieren.
      Eine ausführliche und nützliche Beschreibung von rsync findet sich hier: http://www.samba.org/ftp/rsync/rsync.html

    • Die Datei sichern und den Editor schließen.
    • Im Putty jetzt folgenden Befehl eingeben:

      Code
      crontab /etc/config/crontab


      Dadurch wird die geänderte Konfiguration aktiviert.


    Damit ist die Konfiguration abgeschlossen und das Backup sollte fortan automatisch laufen.


    Zu Fragen, Wünschen und Änderungsvorschlägen stehe ich jederzeit gerne zur Verfügung.


    Schönen Gruß


    Sebastian

  • Ich hatte mir das auch einfacher vorgestellt, da das QNAP ja von Haus aus eine Synchronisierung über rsync mitbringt.
    Die scheint aber nur mit einem zweiten QNAP oder dem Netz-Speicher von Amazon zu funktionieren.


    Wenn Du einen einfacheren Weg herausfindest, dann bin ich über einen Hinweis von Dir dankbar.


    Sebastian

  • Vielen Dank für die Anleitung. Funktioniert super.


    Kleine Anmerkung:
    Statt mehrere Einträge in die crontab einzufügen, kann man auch einen neuen Ordner (z.B. "strato-backup") anlegen und einfach die gewünschten zu sichernden Ordner dort als Symlink einfügen. Dann in der crontab diesen einen Ordner zum Sichern bei Strato hinterlegen. Das ist bei einer größeren Ordneranzahl etwas übersichtlicher. Beim rsync-Befehl muss dann einfach der Parameter "-L" mit angehängt werden, dann werden die richtigen Dateien bei Strato gesichert. (fehlt der Parameter "-L" werden bei Strato Hidrive nur die Symlinks angelegt, was ja wenig hilfreich ist)


    Frage:
    Da ich mich selbst erst seit kurzem mit dem Thema rsync beschäftige, stellt sich mir die Frage, was eigentlich passiert, wenn man per crontab-Eintrag eine tägliche Sicherung um 2:00 Uhr eingerichtet hat, es aber aufgrund einer großen Datenmenge so ist, dass der Cronjob des vorherigen Tages noch nicht abgeschlossen ist? Wird dann der Cronjob 2 Mal (bzw. evtl. sogar noch mehrfach) gleichzeitig ausgeführt? Oder wird gewartet, bis der 1. abgeschlossen ist? Oder stürzt dann das ganze System vielleicht ab?

  • Hallo Stemey,


    danke für Deinen Beitrag!
    Das mit den symbolischen Links werde ich ausprobieren, denn meine rsync-Befehle sind schon recht unübersichtlich geworden.


    Meine erste Datensicherung (ca. 80 GB) habe ich während meines Sommerurlaubs durchgeführt. Rsync hat zwei Wochen lang Daten zu Strato kopiert, ohne dass mich das gestört hätte (schließlich war die ganze Zeit die Leitung voll ausgelastet). Ich habe aus der Ferne zugesehen, wie die Datenmenge bei Strato angewachsen ist.
    Ich denke, das beantwortet Deine Frage: Rsync scheint wohl intelligent genug zu sein, um sich nicht noch einmal zu starten, bevor die laufende Sicherung abgeschlossen ist.


    Schönen Gruß


    Sebastian

  • Hi,


    wieso nimmst du nicht das interne Tool. Irgendwie habe ich es damit probiert, aber die Pfade usw. scheinen nie richtig zu funktionieren.
    Meinst du die Lösung über Cronjob ist besser?


    vg
    Rob

  • Hallo Rob,


    gute Frage!


    Natürlich habe ich zunächst einige Zeit darauf verwandt, das Backup-Tool von QNAP zu benutzen. Allerdings habe ich keine Datensicherung zum HiDrive geschafft. Auch hier im Forum konnte mir niemand helfen. Der Support von QNAP hat mich an Strato verwiesen. Und die fühlten sich auch irgendwie nicht zuständig...


    Also blieb mir nichts anderes übrig, als diese nicht ganz unkomplizierte Lösung auszutüfteln.


    Wenn Du die Datensicherung mit dem Tool von QNAP hin bekommst, dann sag doch bitte unbedingt hier Bescheid. Das würde ich dann sofort bei mir übernehmen wollen.


    Schönen Gruß


    Sebastian

  • Hallo Zusammen.


    Wir hatten dieselbe Ausgangssituation wie hier bereits beschreiben. Die Anleitung von STRATO ist nicht wirklich hilfreich. Nach einigen Spielereien mit dem Ziel-Pfad, zeigt sich dass bei der Konfiguration über QNAP-Konfiguration folgender Pfad bei STRATO funktioniert: /root/users/meinbenutzername


    Allerdings ließ sich ssh nicht aktivieren. Wenn also dazu noch eine Lösung einfällt, höre ich diese gerne.


    Gruß
    Alex

  • Hallo Alex,


    das ist ja ein super Tip!
    Genau danach habe ich lange Zeit gesucht.
    Vielen Dank!


    Jetzt sollte nur noch jemand herausfinden, wie sich die Verschlüsselung aktivieren lässt.
    Außerdem würde ich gerne bestimmte Dateitypen ausschließen.


    Sebastian

  • Zitat

    Kleine Anmerkung:
    Statt mehrere Einträge in die crontab einzufügen, kann man auch einen neuen Ordner (z.B. "strato-backup") anlegen und einfach die gewünschten zu sichernden Ordner dort als Symlink einfügen. Dann in der crontab diesen einen Ordner zum Sichern bei Strato hinterlegen. Das ist bei einer größeren Ordneranzahl etwas übersichtlicher. Beim rsync-Befehl muss dann einfach der Parameter "-L" mit angehängt werden, dann werden die richtigen Dateien bei Strato gesichert.


    @ Stemey : Kannst Du ggf. diese Sache hier etwas näher erklären.
    - Was sind symlinks ?
    - wie hinterlege ich in der crontab den Ordner ?
    - wie sieht anschließend der Rsync Befehl aus ?


    Dank / Gruß
    Tiage


    EDIT:


    Zitat

    Nach einigen Spielereien mit dem Ziel-Pfad, zeigt sich dass bei der Konfiguration über QNAP-Konfiguration folgender Pfad bei STRATO funktioniert: /root/users/meinbenutzername


    luckybaer: Verstehe ich das richtig das nun auch ein Sichern bei Strato übers WEB GUI möglich ist ?


    Dank / Gruß
    Tiage

    Einmal editiert, zuletzt von christian () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln!

  • Erstmal super Anleitung, klappt einwandfrei. Nur eine Frage. Wenn ich bei meinen Qnap TS109 II mal aus irgendeinem Gund die Festplatte wechseln muss, werden dann die Daten wieder zurückgeschrieben? Weil ja die Befehlszeile sagt, das alles was auf der HDD gelöscht wird auch auf dem HiDrive gelöscht wird. Und eine leere HDD ist ja im Prinzip gelöscht. Oder sehe ich was falsch?

  • Danke für die DAU-kompatible Anleitung, habe ich ja morgen nacht wunderbar was zum spielen / testen (heute leider keine Zeit...)


    Hat schon jemand Erfahrungen mit dem send-in Service gemacht? Erkennt rsync automatisch alle Verzeichnisstrukturen und Dateien nachdem die entsprechend auf das HiDrive aufgespielt wurden und synchronisiert dann sauber nur das Delta oder muss man die entsprechenden Ordnerstrukturen solange "einfrieren" bis die Daten via send-in verfügbar sind? Ich werde zwischen 200 und 300 GB sichern, da ist ein Upload via DSL keine Option ;)


    Danke!

  • Zitat von "luckybaer"

    Wir hatten dieselbe Ausgangssituation wie hier bereits beschreiben. Die Anleitung von STRATO ist nicht wirklich hilfreich. Nach einigen Spielereien mit dem Ziel-Pfad, zeigt sich dass bei der Konfiguration über QNAP-Konfiguration folgender Pfad bei STRATO funktioniert: /root/users/meinbenutzername


    Hallo Alex,


    das klingt interessant. Experimentiere auch schon eine ganze Weile damit. Du sagst also, Du hättest es mit dem Strato-Wizard hinbekommen? Wenn ich den von Dir genannten Path angebe (im Vergleich zu dem weiter oben im Post genannten, mit dem es manuell auch funktioniert), dann ist das Verhalten beim Test etwas anders, es erscheint unter Replicating eine Uhrzeit, aber dennoch scheitert das Ganze mit "auth failed". Kannst Du nochmal genau schildern, was Du wo eingegeben hast, um es hinzubekommen?


    Danke und Gruß,
    johntomdoe


    EDIT:


    Hallo erneut,


    ohne ssh ist es mir jetzt gelungen, habe mich ein bißchen in der Konfiguration von Strato verguckt, man muß natürlich das Feld rsync anklicken und unten "Nur verschlüsselte Verbindungen" rausnehmen. Dann klappt es auch.


    Zum SSH: An anderer Stelle (http://forum.qnap.com/viewtopic.php?f=15&t=35163) wird vorgeschlagen, einfach einen SSH-Tunnel aufzusetzen und darüber dann das normale QNAP-Interface-rsync laufen zu lassen.


    ssh -fN -L 874:localhost:873 user@rsync.hidrive.strato.com


    Das funktioniert auch, der lokale Port 874 sollte dann eigentlich ansprechbar sein. Mit dem Assistenten geht es aber nicht, schon das Testen schlägt fehl, wenn man localhost/874/Benutzername hidrive/Passwort hidrive angibt. Auch kann man den Tunnel mit telnet localhost:874 nicht testen.


    Will jemand Kundigeres mit mir das hier noch etwas weiterverfolgen?


    Grüße!
    johntomdoe


    EDIT:


    Gerade gesehen: in der Shell, in der man den Tunnel aufbaut, erscheint
    "channel 1: open failed: administratively prohibited: open failed"


    Vielleicht hilft das jemandem beim Debuggen. Mir nicht. :(

    Einmal editiert, zuletzt von christian () aus folgendem Grund: Doppelte Beiträge vermeiden, siehe Forenregeln!

  • Hallo


    Ich will das auch machen und am besten über die Funktionalität auf der QNAP NAS Seite.
    Ich habe nach dem Lesen mir das noch mal durch den Kopf gehen lassen.
    Wenn ich das richtig sehe scheitert das ja an der SSH funktionalität.
    Täte es nicht funktionieren wenn man erst das mit dem "Putty" macht (was SebaBeer/Sebastian geschreiben hat) dann den neuen SSH schlüssen beim HiDrive hoch läd. das mit dem openSSH Schlüssen.
    Und dann über die Funktion auf der Webseite.


    Mir kam grad so sie Idee. Habe aber z.Z. leider keine Zeit das auszuprobieren, da ich nicht fit bei Linux bin dauert sowas bei mir lange :(
    Was meint ihr dazu, könnte das gehen oder mache ich einen Denkfehler ?


    [Update] Ich habe gerade die RTRR Funktion entdeckt. Das Funktioniert mit HiDrive auch, via FTP mit SSL/TLS (explizit).
    Sebastian da kann man auch Filter setzen welche Dateien und so etc...


    Gruß
    Ove

  • Hallo,
    nach langem Probieren habe ich das ganze nach der Anleitung von Sebastian hinbekommen.
    Ich musste jedoch den Pfad /share/homes/admin/.ssh auf dem QNAP 439II ergänzen - alles schien zu funktionieren, die nächtliche Sicherung lief ohne Probleme.
    Doch nach einem Neustart des QNAP war alles wieder weg. Der Schlüssel stimmte nicht mehr überein, der hinzugefügte Pfad war nicht mehr vorhanden.
    Was mache ich falsch?
    Für jeden Tip bin ich dankbar,
    Gruß
    Christian


    Hallo,
    inzwischen habe ich das Problem gelöst.


    Der Hinweis kam von Mike:
    http://forum.qnap.com/viewtopi…22a8494be91140abeb53e95d2

    Zitat

    "To fix it I would suggest you change back the home directory for admin to /root instead of the non-existing /share/homes/admin.
    Code: Select all
    /usr/local/bin/usermod -d /root admin
    Then you should be able to continue using remote replication over ssh until QNAP finally fix the half-implemented /share/homes feature/bug.
    /Mike"


    Jetzt wird der Schlüssel im richtigen Verzeichnis angelegt und bleibt dort auch immer drin :)


    Gruß Christian

  • Also über das Web-GUI ist das ja nun alles kein Problem mehr. Bis auf die Tatsache, dass sich dort die Verschlüsselung nicht aktivieren lässt.
    Gibt es denn jetzt jemanden, der es nachträglich hinbekommen hat die Verschlüsselung über SSH-Tunnel zu realisieren und der dazu ein kleines Tutorial schreiben könnte?
    Das wäre wirklich eine große Hilfe.


    Grüße...

  • Ich finde den Ordner /root/.ssh nicht auf dem NAS, weder über winSCP noch über den Webfilemanager. Ich nutzte das Model TS-219


    Was mache ich falsch? Irgendeine Idee?

  • Hi,


    ich hab auch Probleme das zum laufen zu bekommen, ich hab alles so gemacht wie beschrieben.
    Aber wenn ich das mit putty teste kommt das (siehe anhang).
    Dann muss ich "yes" eingeben und auch noch das Passwort für Hidrive bevor es überhaupt weiter geht.


    Hat jemand ne idee?


    vielen dank