Bei Hetzner habe ich eine Webseite. Ein Backup davon würde ich gerne täglich auf den QNAP TS-409Pro sichern. Wie stelle ich das am Besten an, ohne einen Cron Job auf dem Webspace zu erstellen?
Backup meiner Webseite auf den QNAP TS-409PRO
- tyco
- Erledigt
-
-
Das wäre, wenn du ein Script (zB.: backup_hp.sh ) erstellst, in dem folgendes steht:
Dieses Script legst du in dem Ordner ab, wo das Backup von der Homepage abgelegt werden soll und fügst es in den Crontab von deinem Ts-409 ein.
Mit "wget --help" bekommst alle möglichen Parameter des Befehls.
-
Zunächst vielen Dank für deine schnelle Antwort.
Allerdings werden mit wget auch alle (externen) Links runtergeladen oder liege ich da falsch? Ich möchte ein Backup der kompletten Webseite, sodass ich sie im Notfall wieder hochladen kann. Auf der Suche nach einer Lösung bin ich auf den Befehl Rsync gestoßen. Wäre Rsync nicht besser geeignet um die Webseite zu sichern?
-
meines Wissens muß Rsync auf beiden Server installiert sein oder in das lokale Dateisystem mit NFS, smbfs/cifs oder ähnliches eingebunden sein.
Beides kann man so konfigurieren, das wirklich nur die gänderten Dateien übertragen werden.ZitatAllerdings werden mit wget auch alle (externen) Links runtergeladen oder liege ich da falsch?
Wenn du mit wget über das http-Protokoll Websites herunterlädst, ja,
aber in meinem Beispiel, wie ich es auch bei einer Clan-HP mache, ist es nicht der Fall.
Dort werden nur die reinen Dateien ungeachtet des Inhaltes heruntergeladen. -
Hallo Eraeser,
die Idee mit den auto Backups find ich richtig gut. In meinem Fall würde ich gern die dump von qnapclub.de Forum absichern. Dann müsste ich die nicht ständig manuell laden.
Aber irgendwo hakt es noch. Ich schreib mal was ich bisher getan hab.1. crontab um folgendes erweitert
2. im Qweb den Ordner bak angelegt und die backup_hp.sh Datei hinterlegt
3. im Qweb nach 11:00 Uhr nachgesehen ob das Bild welches in .../test/ liegt auch gespeichert wurde.Code[/share/HDA_DATA/Qweb] # wget -c --ftp-user=Benutzername --ftp-password=Passwort -x -r -m ftp://qnapclub.de/test --11:12:40-- ftp://qnapclub.de/test => `qnapclub.de/.listing' Resolving qnapclub.de... failed: Name or service not known. FINISHED --11:13:01-- Downloaded: 0 bytes in 0 files
4. FTP Port wird auf dem Router zum NAS umgeleitetVielleicht ist mir auch ein Fehler unterlaufen und du kannst mir dabei behilflich sein.
-
Zitat
Resolving qnapclub.de... failed: Name or service not known.
Hast du über qnapclub.de auch Zugriff mit dem FTP-Programm ?
Kannst du die Adresse anpingen ?ich habe es auch mal über den cronjob versucht und festgestellt, das es die Daten in das Home-Directory vom Root schreibt.
In dem Fall müßte noch ein parameter hinzu bzw. mit cd in das Verzeichnis gewechselt werden.EDIT:
Codecd /share/HDA_DATA/Qweb/bak wget -c --ftp-user=Benutzer --ftp-password=Passwort -x -r -m ftp://qnapclub.de/test/ --append-output=./backup.log
mit einer zusätzlichen Log-Datei. -
Ja, FTP Zugriff habe ich.
qnapclub.de anpingen nein aber die direkte IP ja und dann geht es auch!
Code[/share/HDA_DATA/Qweb] # wget -c --ftp-user=Benutzername --ftp-password=Passwort -x -r -m ftp://85.13.136.161/test/--11:49:49-- ftp://85.13.136.161/test/ => `85.13.136.161/test/.listing'Connecting to 85.13.136.161:21... connected.Logging in as Benutzername ... Logged in!==> SYST ... done. ==> PWD ... done.==> TYPE I ... done. ==> CWD /test ... done.==> PASV ... done. ==> LIST ... done. [ <=> ] 185 --.--K/s11:49:49 (216.36 KB/s) - `85.13.136.161/test/.listing' saved [185]--11:49:49-- ftp://85.13.136.161/test/samsung.JPG => `85.13.136.161/test/samsung.JPG'==> CWD /test ... done.==> PASV ... done. ==> RETR samsung.JPG ... done.Length: 48,715 (48K)100%[=================================================================================================================>] 48,715 312.98K/s11:49:49 (311.08 KB/s) - `85.13.136.161/test/samsung.JPG' saved [48715]FINISHED --11:49:49--Downloaded: 48,900 bytes in 2 files
Es wird aber in /Qweb eine Ordner 85.13.126.161 erstellt ...! Soweit so gut, nun wäre es ja Sinnvoll nicht jedesmal alles herunter zu laden, sondern die dumps local immer nur zu erneuern!
Wo würde ich nun folgendes einfügen, um nicht immer alles herunter zu laden?mfg
christian -
Ja, der Parameter -m beinhaltet das timestamping.
Code-m, --mirror shortcut option equivalent to -r -N -l inf -nr. -r, --recursive specify recursive download. -l, --level=NUMBER maximum recursion depth (inf or 0 for infinite). -N, --timestamping don't re-retrieve files unless newer than local.
Ich kann beide Adressen (ftp.qnapclub.de und qnapclub.de) anpingen.
-
anpingen geht hier nicht ... auch egal!
Was ich nun heraus gefunden habe ist das
via ssh funktioniert es (aber eben nur manuel), doch der Aufruf der backup_hp.sh Datei mit diesem Inhalt wird einfach nicht ausgeführt!die backup_hp.sh befindet sich in
in der crontab habe ich dieses hinzugefügt
Kann es sein das die backup_hp.sh Datei an einem Ort gespeichert werden muss?
-
Für den cronjob müßtest du in dem Script noch ein cd einfügen,
womit du in das Verzeichnis wechselst, in dem das Backup abgelegt werden soll,
ansonsten landet es unter /root.Codecd /share/HDA_DATA/Qweb/bak wget -c --ftp-user=Benutzername --ftp-password=Passwort -x -r -m ftp://85.13.136.161/test/
Sonst ist die Ram-Disk ( / ) schnell voll.
Wo die Script-Datei abgelegt ist, spielt dabei keine Rolle.
-
Zitat von "Eraser-EMC2-"
Sonst ist die Ram-Disk ( / ) schnell voll.
Da liegt zum Glück nichts, warum auch immer!
Werde jetzt cd / .... testen. Danke erstmal!
-
Mittlerweile bin ein Stückchen weiter gekommen.
Manuell klappt es jetzt mit dem Vorschlag von Eraser-EMC2. Dafür schon mal ein "Dickes Dankeschön"!
Allerdings musste ich dazu vorher in das Verzeichnis:
(ohne HDA_DATA) wechseln. Liegt das am TS_409Pro?
Dort ist jetzt das Verzeichnis "yourdomain" erstellt worden. Der lädt jetzt schon eine Stunde (DSL 16000) runter...und lädt und lädt. Mal sehen wie es dann mit dem cronjob und den Aktualisierungen funktioniert.
Ich melde mich wieder.
-
-
Habe beides ausprobiert...also HDA_DATA und MDO_DATA. Ich habe zwei Festplatten...RAID1.
Bei mir befinden sich die Verzeichnisse Qweb, Qusb...etc. alle im Verzeichnis /share. Seltsam. Hauptsache es geht.
-
/share/Qweb ist ein Link auf /share/HDA_DATA/Qweb bzw. /share/MD0_DATA/Qweb, jenachdem wie die Platten eingerichtet sind.
In dem Script, das vom Cronjob aufgerufen wird, ist auch der cd Befehl mit dem entsprechenden Verzeichnis eingetragen ?
Du könntest beim wget auch eine Log-Datei erstellen lassen, um nachher zusehen, was passiert ist.
Wenn wget läuft und die Log-Datei geschrieben wird, kannst du parallel auch die Log-Datei mit anzeigen lassen.
Dazu gibt es den Befehl tail, zb. das Anzeigen des Apache-Logs:Der befehl kann mit Strg+C abgebrochen werden.
Code
Alles anzeigentail --help BusyBox v1.01 (2008.04.15-20:32+0000) multi-call binary Usage: tail [OPTION]... [FILE]... Print last 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or when FILE is -, read standard input. Options: -c N[kbm] output the last N bytes -n N[kbm] print last N lines instead of last 10 -f output data as the file grows -q never output headers giving file names -s SEC wait SEC seconds between reads with -f -v always output headers giving file names If the first character of N (bytes or lines) is a '+', output begins with the Nth item from the start of each file, otherwise, print the last N items in the file. N bytes may be suffixed by k (x1024), b (x512), or m (1024^2).
EDIT-1:
Bei einem Forum ist es eigentlich wichtiger, das die Datenbank regelmäßig gesichert wird. -
Zitat von "Eraser-EMC2-"
EDIT-1:
Bei einem Forum ist es eigentlich wichtiger, das die Datenbank regelmäßig gesichert wird.Wenn das an mich ging, das weiss ich. Im Moment halt immer manuel, dennoch gefällt mir die hier beschriebene Funktion besser.
-
Zitat von "Eraser-EMC2-"
Bei einem Forum ist es eigentlich wichtiger, das die Datenbank regelmäßig gesichert wird.Da wird natürlich nachts ein Backup erstellt, das dann auch automatisch heruntergeladen wird. Der Qnap soll eine zusätzliche Sicherung liefern.
btw. Download ist fertig. Nochmal wget gestartet. Lädt der jetzt alles nochmal runter oder checkt der nur ob es neue Dateien gibt? Parameter sind -x -r -m
-
Zitat
btw. Download ist fertig. Nochmal wget gestartet. Lädt der jetzt alles nochmal runter oder checkt der nur ob es neue Dateien gibt?Es werden nur neue Daten heruntergeladen, dazu wird die Liste aller Ordnerinhalte heruntergeladen und verglichen.
Wonach es feststellt, was geändert wurde, kann ich nicht sagen. -
Beim durchstöbern der Parameter vom wget, ist mir noch eine Option aufgefallen:
Damit gibt man an, wo die Daten gesichert werden sollen. Dadurch entfällt der cd-Befehl im Script. -
oje
bisher noch kein Erfolg ... habe nur die Verzeichnisse etwas geändert !
klappt nicht
Code/usr/bin/wget -c --ftp-user=USER --ftp-password=PASSWORT -x -r -m ftp://85.13.136.161/test/ --append-output=./backup.log --directory-prefix=/share/HDA_Data/bak/
klappt nichtCodewget -c --ftp-user=USER --ftp-password=PASSWORT -x -r -m ftp://85.13.136.161/test/ --append-output=./backup.log --directory-prefix=/share/HDA_Data/bak/
klappt nichtCodewget -c --ftp-user=USER --ftp-password=PASSWORT -x -r -m ftp://85.13.136.161/test/ --append-output=./backup.log --directory-prefix=/share/bak/
Wie schon gesagt, in Putty alles kein Problem und in /bak/ wird ein Verzeichnis angelegt /bak/85.13.136.161/test/.... aber leider nur manuel!
argh