Backup meiner Webseite auf den QNAP TS-409PRO

  • Das mit der Aktualisierung klappt schon mal.


    Vorhin habe ich bei wget beim ersten mal www.mydomain eingegeben und beim zweiten mal ohne www. (die Webseite ist über beide Adressen erreichbar). Da hat wget natürlich alles nochmal runtergeladen.


    Nun funktioniert es aber mit der Aktualisierung.

  • Nach mehreren Tests habe ich herausgefunden, das wget Probleme hat, wenn in der Server-Adresse auch Unterverzeichnisse angegeben sind, bzgl . das Problem von Christian.


    Nur Server-Adresse = OK
    Mit Verzeichnis-Angabe = ERROR

    Code
    ==> SYST ... done.    ==> PWD ... done.==> TYPE I ... done.  ==> CWD /html/templates/backup ... No such directory `html/templates/backup'.


    Suche nun eine Möglichkeit, die Unterverzeichnisse als zusätzlichen Parameter anzugeben.


    EDIT:
    Habe wohl das Problem gelöst, jetzt läuft es bei mir auch mit Angabe des Verzeichnisses.
    Es scheint so, das wget Problem hat, wenn die Server-Adresse nicht am Ende steht:


    Code
    wget -c --ftp-user=ftpusername --ftp-password=ftppassword --append-output=/share/Qweb/bak/backup.log --directory-prefix=/share/Qweb/bak/ -x -r -m ftp://yourdomain/folder/subfolder
  • :roll: soll wohl nicht sein?


    Danke soweit aber es klappt nicht! Es kommt ja das Wochenende ;) und es wäre gelacht wenn das nicht klappt!


    Großes EDIT:


    Habe es nun endlich hin bekommen ... puhh das musste gleich zu aller erst raus! Nun Schritt für Schritt was ich gemacht habe.


    Per ssh mit dem NAS verbunden.

    Code
    crontab -e


    nun erscheint folgendes

    Code
    # m h dom m dow cmd0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia0 4 * * * /sbin/hwclock -s0 3 * * * /bin/rm -rf /mnt/HDA_ROOT/twonkymedia/twonkymedia.db/cache/*30 4 * * * /etc/init.d/Qthttpd.sh restart


    um nun wie in meinem Beispiel das backup.sh Script aufzurufen musste ich folgendes hinzufügen

    Code
    15 3 * * * /share/HDA_DATA/bak/backup.sh


    ich weiss nicht wie ihr es gemacht habt, doch ich kam nicht umher den crontab via vi zu editieren, vi ist für mich definitiv neu und um ehrlich zu sein auch nicht sehr benutzerfreundlich. Dennoch hat es geklappt.
    Link zu vi auf Wikipedia
    das Ergebnis sieht nun so aus

    Code
    # m h dom m dow cmd
    0 3 * * * /usr/local/sbin/ImR_all -soft /Qmultimedia
    0 4 * * * /sbin/hwclock -s
    0 3 * * * /bin/rm -rf /mnt/HDA_ROOT/twonkymedia/twonkymedia.db/cache/*
    30 4 * * * /etc/init.d/Qthttpd.sh restart
    15 3 * * * /share/HDA_DATA/bak/backup.sh


    Ich will auch kurz noch die Einzelheiten erklären:

    m = Minuten
    h = Stunden
    dom = Tag im Monat
    m = Monat
    dow = Tag in der Woche


    Nun zu meiner hinzugefügten Zeile, hier startet nun jeden Morgen um 3:15 Uhr das Script backup.sh welches im Verzeichnis /share/HDA_DATA/bak/ liegt!


    Vllt habe ich auch die ganze Zeit etwas falsch gemacht oder ihr meintet das ich crontab eben genau auf dem oben beschriebenen Weg editieren soll. Sei es drum, ich bin nun etwas schlauer. Ganz zum Schluss nochmal danke an alle!

  • Schade das du die Antwort editiert hast....somit habe nicht mitbekommen, dass du eine Lösung gefunden hast.


    Manuell klappt es bei mir. Per Script leider nicht und somit auch nicht per crontab.


    Das liegt wohl daran, dass ich nicht vi verwendet habe sondern einen Editor unter WinXP, wie ich jetzt herausgefunden habe. Wenn ich das Script ausführe kommt die Fehlermeldung:


    [/share/Qdownload] # ./backup_hwe.sh
    -sh: ./backup_hwe.sh: /bin/sh^M: bad interpreter: No such file or directory


    Dann muss ich mich wohl mit vi anfreunden.

  • Zitat von "christian"


    ich weiss nicht wie ihr es gemacht habt, doch ich kam nicht umher den crontab via vi zu editieren, vi ist für mich definitiv neu und um ehrlich zu sein auch nicht sehr benutzerfreundlich. Dennoch hat es geklappt.


    Stimmt, ich hatte nie direkt beschrieben, wie ich die crontab bearbeite.
    Um die crontab manuell zu bearbeiten kenne ich auch nur "crontab -e".


    EDIT:
    Ich habe inzwischen herausgefunden, reicht es aus, die datei /etc/config/crontab mit vi zu editieren
    und danach mit dem Befehl:

    Code
    crontab /etc/config/crontab


    neu einzulesen.

  • Endlich kann ich auch Erfolg melden.


    Wie schon erwähnt lief das Script nicht, weil es mit dem Editor von Windows erstellt wurde. In vi war zu sehen, dass der Editor an das Ende jeder Zeile ein ^M hinzufügte. Ebenso an den Anfang und des Ende des Scriptes ein ^M.


    Nun habe ich das Script mit vi neu geschrieben und den crontab mit crontab -e editiert. Ein neues Einlesen des crontab war nicht erforderlich.


    Zu erwähnen ist noch, dass das Script vorher noch die erforderlichen Datei Lese-/Schreib- & Ausführ-Rechte bekommen muss. Dazu habe ich den Befehl chmod 750 hwe_backup.sh verwendet.


    Danke an alle!

  • Zitat von "tyco"


    Nun habe ich das Script mit vi neu geschrieben und den crontab mit crontab -e editiert. Ein neues Einlesen des crontab war nicht erforderlich.


    Leider muss ich mich korrigieren. Der crontab blieb nur bis zu einem Neustart des QNAP erhalten. Danach waren meine Einträge verschwunden. Nun habe ich es so wie Eraser-EMC2- und christian gemacht:


    Code
    cd /etc/config


    Code
    vi crontab


    Dann habe ich crontab meinen Erfordernissen angepasst, abgespeichert und neu eingelesen.


    Code
    crontab /etc/config/crontab


    Nun bleibt crontab auch nach einem Neustart unverändert.


  • War das zufällig WinSCP?

  • Hallo Christian,


    eigendlich wäre das ganze schon ein feature Wunsch...


    Im Prinzip ist es ja schon vorhanden NAS -> ftp, es müßte nur auch umgedreht funktionieren... ftp -> NAS :D

  • Hallo Christian,
    ich schließe mich meinem Vorredner an und meine auch das man das als HowTo Sichern sollte.


    Und dieser Thread war eigentlich gedacht die Frage zu beantworten wie man den Downloadmanager dazu bringen kann das zu tun was man eigentlich von einem Downloadmanager erwartet. ;) Den genau das kann es nicht was der Thread ersteller wollte, und auch ich wollte daselbe (Webspace sichern) und bin nach zich Fehlermeldungen bzw. keine Reaktion seitens des DM auf diesen Thread gestoßen.
    Ich habe mir die 4 Seiten durchgelesen aber blicke gerade nicht durch was jetzt wie noch mal funzt und was wohin geschrieben wird.
    Es sind halt nicht alle Linux Freaks die sich damit auskennen, und für uns Dummys sollte das Idiotensicher kurz und bündig erklärt werden.
    Denn im Normalfall brauchen wir es nur ein mal und dann lauft das, und wir müssen nicht erst ein Betriebssystem Studieren um einfache Aktionen ausführen zu lassen.


    Das ist keinesfalls Kritik an dich oder dem Gerät sondern eine Bitte :roll:
    Wenn das jemand nochmal Kurz zusamenfassen könnte was jetzt wo wie gemacht werden muß damit der DM ganze Verzeichnisse Downloadet (TS-239 ;) )
    wären bestimmt Viele User dankbar.


    Grüsse Robi

  • ja ja leider geht es hier nicht mehr weiter, wäre echt schon toll wenn sich jemand der Sache mal annehmen würde.


    Qnap stellt ja ein QPGK zu Verfügung womit ein solches Script einfach zu automatisieren wäre.


    nur wie sieht ein solches script aus für alle nicht Linux bewanderten :?:


    Q-Ext stands for Quick-Extension and is targeted to support scripts for administration functions.
    It eases the integration of scripts that need to be launched either at boot or croned.
    Q-Ext is aimed to support thanks to scripts, server reconfiguration after firmware upgrade, configuration reloading at boot and any functions that are not yet part of the QNAP server administration interface.

  • Hallo,


    es ist etwas unübersichtlich geworden, das stimmt.
    Ich habe es mal zusammengefasst und ein kleines Script geschrieben. Danke an Eraser-EMC2- und Christian, die die eigentliche Arbeit gemacht haben.
    Im script wird mit Variablen gearbeitet, welche ihr euren Bedürfnissen anpassen müsst.
    Wie ihr es als cronjob einbindet ist hier beschrieben http://forum.qnapclub.de/viewtopic.php?f=80&t=1033
    Das Script habe ich als .txt-Datei anhehängt. das Forum lässt Dateien mit der Endung .sh nicht zu, welche eigentlich Scripte unter Linux kenntlich macht. Ihr könnt es ja entsprechend umbenennen.
    Bitte das Script mit dem WebFilemanager hochladen in ein Verzeichnis eurer Wahl. Bitte nicht nach /root, das wird bei jedem Neustart überschrieben.
    Ihr müsst dem Script Ausführungsrechte geben. Dazu per ssh auf die Konsole und "chmod 750 /Verzeichnis/zum/Script/ftp_download.txt" ausführen.
    Änderungen am Script am besten mit dem MidnightCommander durchführen. Nicht unter Windows, es sei denn, ihr verwendet einen Editor, der mit Linux-Text-Dateien umgehen kann. Hier kann ich euch Notepad++ empfehlen Download hier: http://www.chip.de/downloads/Notepad_12996935.html
    Hier das Script in Textform:


  • Moin,
    habe das jetzt mal durchgelesen und mich stört eines daran: Ihr sichert Webauftritte ohne sie vorher zu packen? Damit wird das Backup unnötig verlangsamt, weil ihr tausende Einzelfiles runterlutscht. Wäre geschickter auf dem Server ein Shell-Script in die Crontab zu klatschen, das die DBs dumpt, die Webdirs packt und einen Klumpen daraus macht. Ab hier kommt dann der Thread hier zum tragen, aber jetzt wird 1 File vom Server geholt


    Grüße


    HIAS

  • Hallo HIAS,


    sicher wäre das nicht schlecht, nur benötigst du auf dem entfernten Rechner entsprechenden Zugang und Recht und das ist bei den meißten Webspace-Hostern nicht der Fall.
    Bei einem Rootserver sicher kein Problem. Aber darum ging es ja hier nicht.

  • Wie frosch schon schreibt war das nicht die Intention dieses Themas und auch sein zweiter Einwand ist korrekt. Mittlerweile läuft unser Forum auch auf einem Server der mir mehr Rechte einräumt, letzteres nur als allgemeine Info.


    Christian

  • ok, ich hatte noch nie nen vserver oder sowas, von daher fehlt mir damit die Erfahrung. Aktuell steht für mich der Umzug von ca 25 Domains und Auftritten auf einen neuen Root-Server an, mir wird schlecht bei den ganzen Jobs die da anrollen.....

  • Zitat von "frosch2"

    Hallo HIAS,


    sicher wäre das nicht schlecht, nur benötigst du auf dem entfernten Rechner entsprechenden Zugang und Recht und das ist bei den meißten Webspace-Hostern nicht der Fall.
    Bei einem Rootserver sicher kein Problem. Aber darum ging es ja hier nicht.



    Genau so geht mir das auch mit zwei Kundenspaces, die ich nicht selber hoste. Deine Lösung ist perfekt, einfach und doch so gut ! Vielen Dank dafür !!!