[Web-GUI] "rsnap" für rsnapshot Backups

  • Thema geschlossen, da QPKG Released:
    http://forum.qnapclub.de/viewtopic.php?f=208&t=10097#p56609





    Hallo Leute,


    nach längerer scripterei möchte ich Euch mein Web-GUI für rsnapshot vorstellen.
    Da die Backupfunktionen unserer QNAP-NAS in einigen Punkten unzureichend sind, habe ich nach einer Alternative gesucht und mit "rsnapshot" gefunden.
    Dieses Programm muss aber mit einem Texteditor konfiguriert werden und Cronjobs angelegt werden. Dies ist für Linux Unerfahrene aber nicht immer einfach.
    Deshalb habe ich dieses Web-GUI geschrieben. In Planung sind noch einige Ergänzungen wie, E-Mail-Benachrichtigungen, Backup von Remote-Computer, Auswertung der Log-Files.
    Zuerst aber freue ich mich auf Eure Reaktionen, Kritik und Anregungen.
    Einen Screenshot gibt es hier: http://forum.qnapclub.de/download/file.php?id=2631&mode=view
    Dies ist eine BETA und sollte zuerst von Leuten getestet werden, die schon etwas Erfahrung haben! Getestet ist diese Version bis jetzt nur mit TS-409.
    Bestehende Konfigurationen von rsnapshot bleiben erhalten.

    Voraussetzung:
    QPKG-Optware muss installiert sein.

    Installation:
    1. entpacken der ZIP-Datei
    2. Upload auf das QNAP-NAS in ein beliebiges Verzeichnis.
    3. Die Datei install.sh für admin ausführbar machen.
    4. in das Verzeichnis rsnap_1.0_beta wechseln
    5. Aufruf der Datei install.sh -> ./install.sh
    6. Den Rest seht Ihr auf der Konsole, hoffentlich. ;)

    Dateien

    5 Mal editiert, zuletzt von Terz () aus folgendem Grund: ZIP-Datei ausgetauscht, 2010-06-17

  • Hallo,


    bin ein völliger Linux Laie und deshalb sehr dankbar für ein GUI. Ich habe mich schon an rsnapshot versucht, aber dann doch wieder aufgehört, da mir das Einrichten der config Datei etwas zu unübersichtlich war. Jetzt mal zwei laienhafte Fragen. Sollte die GUI auch ohne größere Probleme mit dem TS-439 Pro II funktionieren? Und bekomme ich das GUI dann in der Browseransicht oder muss ich das über Terminal aufrufen.


    Freue mich wirklich, wenn ich über den GUI die Sicherungen anlegen kann!!! :thumb:


    Grüße


    THomas

  • hi


    nice :) danke!


    grad mal auf meinem TS-509 mit neuster beta fw 3.3.0 probiert.


    Zitat

    3. Die Datei install.sh für admin ausführbar machen.


    chmod 0766 install.sh nehm ich mal an?


    erhielt aber dann beim ausführen folgende fehlermeldung:

    Code
    1. -sh: ./install.sh: /bin/sh^M: bad interpreter: No such file or directory


    lösung schnell gefunden... habe die files per smb kopiert, da hat windows wohl was an der datei gebastelt. habe dann das ganze direkt auf nen ftp ordner entpackt und schon hat's geklappt.


    installation wurde fehlerfrei abgeschlossen und das web gui läuft :) hab jetzt mal was konfiguriert... gebe später bescheid ob alles geklappt hat.


    das GUI ist soweit OK aber müsste sicher noch mit erklärungen versehen werden. für den anfang aber schon mal sehr gut, respekt! 8-)


    eine frage: müssten bei "Speicherort der Backups" meine bestehenden freigaben im dropdown feld gelistet werden? das ist nämlich leer. ich hab dann nen namen einer existierenden freigabe manuell hinten eingegeben und nach klick auf "Festlegen" war es dann vorne im drop down feld eingetragen.


    btw... bist du schon in kontakt mit QNAP, damit daraus später mal ein QPKG werden kann? das würde das ganze nochmals vereinfachen und vermutlich auch mehr aufmerksamkeit auf dieses projekt lenken :)


    edit:
    funktioniert leider nicht... das programm läuft auch nicht im hintergrund. ebenso sehe ich nix im cron oder in autorun? die scripts unter /home/httpd/rsnap/sh verweisen auf /home/httpd/rsnap/conf/rsnapshot/rsnap_1.conf. aber dieses conf file existiert nicht, der ordner rsnapshot ist leer...? im web ui bleiben aber die konfigurierten werte erhalten.


    wenn ich irgendwas testen kann/soll, lass es mich wissen.


    edit 2:
    snapshot_root.conf ist bei mir leer... nur in post_root_share.txt steht der wert drin. der subfolder aus post_root_sub_dir.txt wurde aber nach snapshot_root2.conf übertrgen.


    edit 3:
    ahaaaa.... grad gesehen dass du nur auf externe datenträger als ziel prüfst :D das wird angezeigt und nun auch korrekt übernommen.... aber es passiert immer noch nix :?:


    ps: wieso nur auf externe datenträger? wenn man intern einzelne platten hat (kein raid) - wie ich - wärs gut man kann von freigabe der disk 1 auf freigabe der disk 2 backupen. klar, extern ist besser und die einzig wirklich sichere variante, aber trotzdem kann die interne variante für manche zwecke praktisch sein.

  • Hallo Leute,


    erstmal Danke, dass sich hier nun doch noch einige beteildigen. Es kann nur mit Eurer Hilfe hier weitergehen. Ich hatte wirklich schon gedacht, dass das niemanden interessiert.
    Nun zu den Fragen und Anregungen.

    Zitat von "bcischmitz"

    Sollte die GUI auch ohne größere Probleme mit dem TS-439 Pro II funktionieren? Und bekomme ich das GUI dann in der Browseransicht oder muss ich das über Terminal aufrufen.
    THomas


    Die 1. Frage kann ich dir leider nicht beantworten, da ich nicht weiß, ob die Verzeichnisstruktur gleich zur 409 ist.
    Das GUI rufst du über deinen Browser auf http://NAS-IP:8080/rsnap oder http://NAS-Name:8080/rsnap.

    Zitat von "IamQ"

    edit 3:
    ahaaaa.... grad gesehen dass du nur auf externe datenträger als ziel prüfst :D das wird angezeigt und nun auch korrekt übernommen.... aber es passiert immer noch nix :?:


    Würdest du bitte den Inhalt der '../rsnap/conf/rsnapshot/rsnap_1.conf' und deiner crontab posten.

    Zitat von "IamQ"


    ps: wieso nur auf externe datenträger? wenn man intern einzelne platten hat (kein raid) - wie ich - wärs gut man kann von freigabe der disk 1 auf freigabe der disk 2 backupen. klar, extern ist besser und die einzig wirklich sichere variante, aber trotzdem kann die interne variante für manche zwecke praktisch sein.


    Danke für den Hinweis. Eine mögliche Lösung wäre, das zu der internen Backupplatte ein Share mit vorgegebenen Namen angelegt wird, z.B. rsnapback1, rsnapback2 usw., diese könnte ich dann in das Dropdownmenü aufnehmen.
    Was meinst du?

    Zitat von "IamQ"


    btw... bist du schon in kontakt mit QNAP, damit daraus später mal ein QPKG werden kann? das würde das ganze nochmals vereinfachen und vermutlich auch mehr aufmerksamkeit auf dieses projekt lenken :)


    Nein bin ich noch nicht. Das hat auch noch Zeit, erstmal muss es vernünftig laufen.

    Zitat von "IamQ"


    chmod 0766 install.sh nehm ich mal an?


    erhielt aber dann beim ausführen folgende fehlermeldung:

    Code
    1. -sh: ./install.sh: /bin/sh^M: bad interpreter: No such file or directory


    lösung schnell gefunden... habe die files per smb kopiert, da hat windows wohl was an der datei gebastelt. habe dann das ganze direkt auf nen ftp ordner entpackt und schon hat's geklappt.


    Ich habe das kopieren mit WinSCP gemacht, Rechtsklick auf die install.sh und das 'X' für den Eigentümer gesetzt. Ansonsten sollte

    Code
    1. chmod 744 install.sh

    reichen.

  • moin


    Zitat

    Würdest du bitte den Inhalt der '../rsnap/conf/rsnapshot/rsnap_1.conf' und deiner crontab posten.


    würd ich gerne aber die datei existiert immer noch nicht... das verzeichnis rsnapshot ist leer. ebenso crontab, ist nur das drin was ich vorher schon drin hatte, nichts bezüglich rsnap.


    btw ich habe gesehen, dass du teilweise den pfad "/mnt/ext/home/httpd/......" verwendest. nur unter /mnt/ext/ gibt es auf meinem TS-509 keinen link zu home, läuft also ins leere. /home/httpd/ etc. ist vorhanden.


    Zitat

    Eine mögliche Lösung wäre, das zu der internen Backupplatte ein Share mit vorgegebenen Namen angelegt wird, z.B. rsnapback1, rsnapback2 usw., diese könnte ich dann in das Dropdownmenü aufnehmen.
    Was meinst du?


    ja ich denke das wäre eine praktikable lösung. man könnte natürlich auch einfach alles shares listen, wobei dann die gefahr wäre dass der user ein "loop" backup konfiguriert :)

  • Danke für die schnelle Antwort.
    Habe jetzt erstmal die Pfade einheitlich auf /home/httpd/rsnap gesetzt. Die Änderung mit den Zielverzeichnissen muss noch warten, ist nicht so einfach wie gedacht.
    Ich hänge die geänderte Version an.

    Dateien

    Einmal editiert, zuletzt von frosch2 ()

  • thx


    habe die neue version getestet aber passiert leider auch nicht mehr, das rsnapshot verzeichnis bleibt leer, keine conf datei. kann ich sonst irgendwas testen was uns zur problemursache führen könnte?


    ach ja, das rsnap verzeichnis unter /home/httpd wird bei einem reboot übrigens gelöscht. ich weiss nicht genau wie die "regeln" sind, ob du das woanders reinknallen musst (z.b. unter /share/HDA_DATA/.qpkg/ ?) und dann bei jedem boot wieder n link setzen musst. bei bestehenden QPKGs scheint dazu unter /etc/init.d/ jeweils n link auf n config script zu sein was somit bei jedem boot ausgeführt wird.


    vielleicht wissen ja Terz oder Eraser-EMC2- diesbezüglich mehr? *pfeif* :mrgreen:

  • Na das piep mich ja an!
    Ich habe eben aus der letzten ZIP installiert (vorher /home/httpd/rsnap gelöscht).
    Funktioniert! Die conf für rsnapshot wurde angelegt, die cronjobs ebenfalls.
    3 min. gewartet, ein stündlicher Backup eines kleinen Verzeichnisses war nach 2 min gesichert.
    Reboot der TS 409, das Verzeichnis rsnap bleibt erhalten.
    Sollten die TS in ihrer Konfiguration (Software) so unterschiedlich sein.


    Habe jetzt nochmal bereinigt, es gab in der index.cgi doch noch einige Links mit /mnt/..
    Habe die ZIP ersetzt. Siehe etwas weiter oben.

  • hmm ich kann mir gut vorstellen, dass es zwischen der alten 109/209/409 serie und den aktuellen einige unterschiede gibt. und mit firmware 3.3.0 gab's vielleicht auch nochmal änderungen, keine ahnung. x10/x19 und die x86 modelle sollten aber wohl weitgehend identisch aufgebaut sein.


    aber: mit der neusten version wird das conf file nun endlich erstellt *vuvuzelatrööööööt* :mrgreen:


    im crontab ist auch alles drin nun! uuund... das erste backup wurde erfolgreich erstellt, wunderbar :)

  • Wenn ich das auf meiner TS 439 Pro - II probiere, kann ich mir da theoretisch auch was kaputt machen, oder würde im "schlimmsten" Fall das Backup einfach nur nicht funktionieren?

  • Naja, Garantie, dass nichts passiert kann ich nicht geben.
    Das Einzige was mir passiert war, dass ich die crontab zerschossen habe. Das sollte behoben sein, aber eine Kopie mit WinSCP irgendwo auf dem PC, kann nicht schaden.

    Zitat von "IamQ"

    ... das erste backup wurde erfolgreich erstellt, wunderbar :)


    Das freut mich. Dann brauchen wir noch weitere "Todesmutige" zum testen.
    Wir müssen jetzt klären, bei welchen Modellen ein selbst angelegtes Verzeichnis unter /home/httpd/ nach reboot gelöscht ist.
    Wäre auch toll, wenn ein admin die 1. Beta im 1. Beitrag durch die neuere ersetzt, denn ich kann den Beitrag nicht mehr editieren.

    Einmal editiert, zuletzt von frosch2 ()

  • Zitat von "frosch2"

    Wir müssen jetzt klären, bei welchen Modellen ein selbst angelegtes Verzeichnis unter /home/httpd/ nach reboot gelöscht ist.


    Bei meiner TS-109 liegt das "/home" auf der Festplatte (/dev/sda3) und bei der TS-239 nach jedem reboot aus dem Flash wiederhergestellt.


    Die beste Möglichkeit wäre, auch zukünftig evtl. als QPKG, die Scripts in den QPKG-Ordner zu kopieren.
    Dazu ein Start-Script erstellen, das beim Booten einen Sym-Link in das /home/httpd anlegt.
    ich werde dir ein paar Script-Beispiele zusenden, die ich auch im Zusammenhang mit den QPKGs verwende.


    EDIT:


    Ich hatte dir schon eine PM geschrieben, aber nach ich das Beispiel-Script selbst getestet hatte, ohne Erfolg, hatte ich die PM wieder gelöscht-


    Stefan

  • Zitat von "Eraser-EMC2-"

    Ich hatte dir schon eine PM geschrieben, aber nach ich das Beispiel-Script selbst getestet hatte, ohne Erfolg, hatte ich die PM wieder gelöscht


    Stefan


    Ich bedanke mich für deine Unterstützung, nicht nur gerade jetzt, sondern du warst der, der mich auf die Möglichkeiten #!/bin/sh" per cgi, Perl, hingewiesen hat.
    QNAP anzuschreiben ist sicher keine Hürde, nur will ich das?
    QNAP compiliert jede cgi, bzw. jede cgi wurde aus C oder C++ kompiliert.
    Wie kann ich mich gegen Ideenklau selbst schützen?
    Bitte nicht falsch vertehen!

  • [OFFTOPiC]
    Offene Projekte sehe ich nicht als Möglichkeit zum Kopieren von Ideen, eher als eine Möglichkeit zu lernen,
    was alles machbar ist, oder um Fehler in eigenen Scripts besser zu entdecken.


    Ich finde es bei kompilierten Web-Anwendungen schwierig, Fehler zu entdecken oder darauf hinzuweisen.
    [/OFFTOPIC]


    ich würde evtl. deine "WebGUI" in Steps unteilen, damit es übersichtlicher wird.
    Ich besitze ein 24"-Monitor und die WebGUI belegt bei den kompletten Bildschirm.


    Es gibt die Möglichkeit über Javascript und "<div id="daily" style="display:none;">" Bereiche ein und aus zu blenden.
    Damit könntest du die Einstellungen für die tägliche , monatliche ... Sicherung in Schritten anzeigen und besser/neu anordnen.


    Die Scripts würde ich evtl. nach /mnt/HDA_ROOT legen, das liegt im RAID0 bei mehreren Festplatten und ist bei allen NAS vorhanden.
    Den Link zum /home/httpd kannst du dann nach einem Reboot über die autorun.sh erstellen.


    Stefan

  • Zitat

    Ich finde es bei kompilierten Web-Anwendungen schwierig, Fehler zu entdecken oder darauf hinzuweisen.


    in der tat. dann hätte ich z.b. die fehlerhaften pfade nicht entdeckt, die verhinderten dass es auf den neueren QNAP nas funktioniert.


    kleines update meines tests:
    das konfigurierte stündliche update mit 2 versionen hat einwandfrei funktioniert. ich hatte aber auch noch ein tägliches backup (3 versionen) konfiguriert, das gestern abend erstmals hätte ausgeführt werden sollen... allerdings sehe ich nichts davon auf dem usb laufwerk. es sind nur die 2 hourly ordner vorhanden.


    im crontab ist das daily korrekt drin soweit ich das beurteilen kann

    Zitat

    10 16,17,18 * * 3 /home/httpd/rsnap/sh/rsnap_hourly.sh
    45 19 * * 3,4 /home/httpd/rsnap/sh/rsnap_daily.sh
    # * * /home/httpd/rsnap/sh/rsnap_weekly.sh
    # * * /home/httpd/rsnap/sh/rsnap_monthly.sh


    wenn ich rsnap_daily.sh manuell starte, erhalte ich keinerlei output, auch keine fehlermeldung.

  • Zitat von "IamQ"


    dann hätte ich z.b. die fehlerhaften pfade nicht entdeckt, die verhinderten dass es auf den neueren QNAP nas funktioniert.


    In der Tat, lassen wir das. Mein Sourcecode ist eh unübersichtlich genug. :D


    Nun zu daily rsnapshot.
    Was steht denn im Log?
    /opt/var/log/rsnapshot


    Update:
    Fehler gefunden.
    Hänge die neue ZIP an. Du brauchst aber nur die rsnap_daily.sh, hänge ich auch an.
    Bitte an die Mods, ZIP-Datei im 1. Beitrag ändern.
    Ist es nicht irgendwie möglich, dass ich den 1. Beitrag selbst editieren kann?

  • hi


    nur das file austauschen hat nicht geklappt, egal wie ich kopiere/entpacke.

    Zitat

    /bin/sh^M: bad interpreter: No such file or directory


    habe es dann gelöscht und den kompletten installer nochmals laufen lassen, nun gehts. daily backup erfolgreich erstellt :)


    allerdings ist jetzt einer der zwei hourly ordner verschwunden... resp. der content wurde verschoben zum daily. soll das so sein? habe rsnapshot vorher noch nie wirklich benutzt.


    log:

    Zitat

    [17/Jun/2010:13:36:35] /opt/bin/rsnapshot -c /home/httpd/rsnap/conf/rsnapshot/rsnap_1.conf daily: started
    [17/Jun/2010:13:36:35] echo 25059 > /opt/var/run/rsnapshot.pid
    [17/Jun/2010:13:36:35] mv /share/external/sdi1/testit/hourly.1/ /share/external/sdi1/testit/daily.0/
    [17/Jun/2010:13:36:35] rm -f /opt/var/run/rsnapshot.pid
    [17/Jun/2010:13:36:35] /opt/bin/rsnapshot -c /home/httpd/rsnap/conf/rsnapshot/rsnap_1.conf daily: completed successfully

  • Zitat von "IamQ"


    allerdings ist jetzt einer der zwei hourly ordner verschwunden... resp. der content wurde verschoben zum daily. soll das so sein? habe rsnapshot vorher noch nie wirklich benutzt.


    Hi,


    Ja das macht rsnapshot so.

  • ok, wunderbar :D


    hab n kleinen typo entdeckt im web gui: da steht jeweils aktviert statt aktiviert

  • Danke, wird im nächsten update berücksichtigt. :thumb: