Ist folgendes Szenario möglich (SQL-Backup) auf DS?

Status
Für weitere Antworten geschlossen.

alfonso

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich betreibe ein Vbulletin-Forum und ich möchte meine SQL-Datenbank gerne von meiner Webseite auslagern.

Ist es möglich ein automatisches Backup zu erstellen was jede nacht mein SQl-Backup auf meine DS 112 kopiert?

Wenn ja wie?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.159
Punkte für Reaktionen
1.118
Punkte
314
Hi!

Such mal im Netz nach MySQLDumper. Damit kannst du schon mal ein Backup deiner Datenbank anlegen. Nur das mit dem ablegen der Datei auf der DS... da kann ich dir grad nicht sagen, ob das geht. Ich Speicher das Dump-File auf dem Server und mach dann wöchentlich ein Backup meines Webspaces auf die DS! Hab das mit wget erfolgreich umgesetzt. Such hier mal nach "wget automatisieren"

Tommes
 

alfonso

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
Das Backup ist schon vorhanden, dazu nutze ich ein php-Script. Ich möchte das nun automatisch jede Nacht die Datenbank abgeholt wird und auf dem Webspace gelöscht wird.
 

alfonso

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
So, MySQLDumper ist nun installiert und läuft auf meinem Web. Wie stelle ich das nun so ein das MSD die Datenbank auf mein ds ablegt?

ftp.jpg
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.836
Punkte für Reaktionen
51
Punkte
74
Für das einfache Downloaden (Deiner DS) der fertig zusammen gepackten Datenbank auf Deiner Seite könntest meine Ausführungen hier benutzen:

http://www.synology-forum.de/showth...-im-Web-liegenden-Server-im-Hintergrund-laden

wenn Dir das zu schwer ist, dann kannste Dich auch privat melden und ich bau Dir die Automatik so zusammen, wie Du es brauchst! Wäre dann allerdings alles über Jobs gelöst, die selbständig laufen und keinerlei zusatz-tool brauchen, wie Du das da oben hast!


Ich mach gleiches bei mir mit 4 Foren, welche bei Hosteurope.de gelagert sind! Dort sichert ein Job alle 6 Stunden die Forendatenbanken und legt sie im Webspace ab! Jeden Tag um 21:30 kommt meine DS, holt sich die letzte Sicherung (21:00) und löscht danach alles, was in den letzten 24 Stunden weg-ge-backupt worden ist! Das letzte Backup wird dann nach dem Download auf der DS entpackt und in meine Ersatz Datenbank (1:1 zu der auf Hosteurope) reingebaggert.
Die 4 Foren auf meiner DS haben so jeweils um 22 Uhr den aktuellen Stand, während auf Hosteurope der Backup Job um 3 Uhr in der Früh schon wieder die erste Sicherung des neuen Tages anlegt... Dann wieder um 9 und 15 Uhr und zum Schluss ist wieder 21 Uhr und danach kommt meine DS angewackelt und holt sich den Sch...!
Knallts irgendwann mal, dann würde ich nur Daten von maximal vergangenen 6 Stunden verlieren! Die Jobs kann man sicher auch in engeren Zeiträumen starten!
 
Zuletzt bearbeitet:

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.159
Punkte für Reaktionen
1.118
Punkte
314
Ich mach gleiches bei mir mit 4 Foren... Jeden Tag um 21:30 kommt meine DS, holt sich die letzte Sicherung (21:00) und löscht danach alles, was in den letzten 24 Stunden weg-ge-backupt worden ist! Das letzte Backup wird dann nach dem Download auf der DS entpackt und in meine Ersatz Datenbank (1:1 zu der auf Hosteurope) reingebaggert.

Wow, das hört sich ziemlich klasse an. Ich habe das, ehrlich gesagt nicht ganz so komfortabel, per wget realisiert (Hier der Link zum Thread) Ich downloade per wget jedoch meinen kompletten Webspace inkl. Dump-File. Läuft über cron im wöchentlichen Rhythmus mit E-Mail Erfolgsmeldung über nail.

Jedoch muß ich zugeben, das dein Vorgehen sehr viel interessanter klingt als meiner. Daher meine Frage... wie machst du das genau? Vor allem der Teil mit dem "automatischen" reinbaggern des Dump-Files in die DS bzw. dessen Datenbank! Ich muß dazu sagen, das ich noch ein ziemlicher Anfänger in Sachen Linux bin, also immer alles schön einfach erklären. Wäre echt toll, wenn du da näheres zu erzählen könntest/würdest !

Tommes
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.836
Punkte für Reaktionen
51
Punkte
74
Also letzten Endes ist das nichts anderes, wie Du machst! Ich nehme fürs Rüberholen auch bloß wget!
Das reinbaggern ist dann bloß eine Zeile mit mySQL Kommandos, da ja die Datei, die rüberkommt eine gepackte gzip Datei ist! Diese wird im 1. Schritt auf der DS in eine sql.Datei ausgepackt, dann 2. in die Datenbank reingebaggert und 3. wird mit einem abschließenden SQL Kommando die DS-(Ersatz)-Datenbank in der Config-Tabelle so verändert, dass man die Ersatzdatenbank auch über die DS per Webserver/PHP/mySQL erreichen kann und ggf. dort über den Tag an den Foren/Forensoftware rumspielen könnte, ohne dass man Angst haben muss, dass etwas kaputt geht!
Und geht etwas kaputt, dann kommt um 21.30 wieder der Cron und macht alles platt und setzt es neu auf!

Wie man also die Sachen per FTP rüber bekommt ist im obigen Link ja beschrieben. Das Reinbaggern sieht im Ganzen so aus. Ich hab mir eine Datei namens import.sh gemacht, die folgende Befehle in sich trägt:

Code:
#!/bin/sh
#
# erstmal ins Verzeichnis wechseln, wo die vom Download angekommenden Daten liegen (bei mir halt der ordner Dump unter web)

cd /volume1/web/dump/

# dann die noch gezippte Datei dump-forum1.gz auspacken, so dass wir die echte dump-forum1.sql bekommen; Schalter -d hierbei "ohne weitere Nachfragen alles beja-en"

gzip -d dump-forum1.gz

#Bei HostEurope werden Dateien ohne .sql Endung gepackt (vielleicht ist das auch überall so), so dass der folgende Schritt noch notwendig ist und ´die ausgepackte dump-forum1 in dump-forum1.sql umbenannt werden muss. Bastler könnten hier auch mal versuchen, ob die weiteren Schritte auch mit Dateien ohne eine (.sql) Endung funktionieren. Dann kann der folgende Schritt ausgelassen werden

mv /volume1/web/dump/dump-forum1 /volume1/web/dump/dump-forum1.sql

# jetzt der eigentliche Befehl fürs reinbaggern auf der DS - sollte eigentlich bei allen gleich sein, die das normale Synology mySQL Paket benutzen
# USER ist der mySQL Username und PASSWORT ist das mySQL Passwort - also bei root und Trick17 würde das so aussehen, wenn die vorher leer angelegte Datenbank forum1 heisst:
# /usr/syno/mysql/bin/mysql -uroot -pTrick17 -hlocalhost forum1 < /volume1/web/dump/dump-forum1.sql

/usr/syno/mysql/bin/mysql -uUSER -pPASSWORD -hlocalhost DATENBANKNAME < /volume1/web/dump/dump-forum1.sql

# zum Schluss noch der Befehl zum ausführen einer SQL Datei, welche die Config Tabelle des Forums von den Originalwerten auf dem entfernten Server auf die heimischen DS Einstellungen umstellt
# das sind z.B. solche Sachen wie der Domainname, der von www.mein-forum1.de in meine-DS-zu-Hause.dyndns.org/mein-forum1.de/ ändert

/usr/syno/mysql/bin/mysql -uUSER -pPASSWORT -hlocalhost < /volume1/web/dump/dbimport.sql

diese Datei für diesen letzten Befehl sieht dabei bei mir folgendermassen aus:

Code:
UPDATE `forum1`.`phpbb_config` SET `config_value` = '/mein-forum1.de' WHERE CONVERT( `phpbb_config`.`config_name` USING utf8 ) = 'script_path' LIMIT 1 ;
UPDATE `forum1`.`phpbb_config` SET `config_value` = 'meine-DS.dyndns.org' WHERE CONVERT( `phpbb_config`.`config_name` USING utf8 ) = 'server_name' LIMIT 1 ;

Passt das alles, könntest Du in diesem Beispiel jetzt Dein Forum auch auf der DS unter http://meine-DS.dyndns.org/mein-forum1.de/index.php erreichen! Username und Passwort ist ja das gleiche wie draußen, so dass Du Dich damit auch ganz normal anmelden kannst.
Es werden also praktisch der Servername und der Pfad von den Originalwerten draußen im echten Zustand in die Werte zu Hause auf der heimischen DS geändert!


Das Beispiel hier stellt eine Forumssoftware vom Typ phpBB dar! Die SQL Befehle bzw. Config Tabellen bei VBulletin könnten ggf. anders aussehen! Müsste man dann per myphpAdmin erstmal checken, was da als Feldname in der entsprechenden Tabelle bei vBulletin drinsteht!
 
Zuletzt bearbeitet:

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.159
Punkte für Reaktionen
1.118
Punkte
314
Danke schonmal für dieses Script. Das muß ich mir mal in Ruhe zu Gemüte führen. Wird wohl leider erst am WE genügend Zeit für die Umsetzung bzw. die ersten Basteleien zur Verfügung stehen. Auch muß ich da wohl noch einiges anpassen, da ich kein Forum betreibe, sondern eine per Websitebaker angetriebene Website. Aber das Grundgerüst hast du ja vorgegeben, die Anpassungen werde ich schon irgendwie hinbekommen. Ansonsten weis ich ja, wo ich dich finde.

Wie gesagt, danke erstmal. Ich Berichte dann in naher Zukunft über Erfolg oder Misserfolg.

Tommes
 

alfonso

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
Vielen dank für die hinweise! Mir persönlich würde es reichen wenn ich von der SQL-Datenbank eine täglich Sicherung habe und von den Dateien eine monatliche Sicherung mache.

Leider bin ich auf der strecke ein ziemlicher Laie. Ich bräuchte eine Schritt für Schritt Anleitung.
 

TheGardner

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
1.836
Punkte für Reaktionen
51
Punkte
74
Sprichst Du bei "SQL Datenbank" von der auf Deiner Synology oder von der draußen beim Provider/Webspace-Anbieter?
Und was meinst Du mit "Dateien" für die monatliche Sicherung???? Die php-html-Dateien des Forums/der Webseite?


Theoretisch müsste eigentlich folgendes Szenario auch bei anderen Hostern (außer Hosteurope) funktionieren:

- Erstellung einer php-Datei, welche im Wurzelverzeichnis (eines Webspaces) liegt und die Aufgabe hat "bei Aufruf von überall aus dem Netz" die jeweilige/n Datenbank/en zu sichern
- die Datei müsste dann folgenden Inhalt haben:

Code:
<?php

$neudat=strftime("%Y%m%d").'dbsicherung.gz';

system('/usr/bin/mysqldump -uDBUSER -pDBPASSWORT -hDBSERVERNAME DATENBANKNAME | /bin/gzip >/totaler/Pfad/zum/Webspaceverzeichnis/Unterverzeichnis/'.$neudat, $fp);

if (($fp==0) && (false !== chmod('/totaler/Pfad/zum/Webspaceverzeichnis/Unterverzeichnis/'.$neudat, 0666)))
	echo "Daten exportiert<br \><br \>"; 
	else echo "Es ist ein Fehler bei der Sicherung aufgetreten<br \><br \>";

?>

Das Ding erstellt quasi -wenn Ihr die totalen Pfade Eurer Seiten draußen bei den Hostern wisst- eine gepackte gz.Datei in einem von Euch erstellten/genannten Unterverzeichnis. Die Datei hat dann das Format "DATUMdbsicherung.gz".
Wenn das klappt, braucht ihr diese Datei dann blos über FTP abholen und weiterverarbeiten bzw. wegsichern!

Nennt man die Datei jetzt db-export.php und legt sie ins Wurzelverzeichnis seines Webspaces/Webseite, dann kann man sie über http://www.meine-webseite.de/db-export.php mittels Browser aufrufen oder über nen Crontab-Eintrag wie diesen hier:

Code:
0       3,9,15,21       *       *       *       root    /usr/syno/bin/wget http://www.meine-webseite.de/db-export.php

alle 6 Stunden automatisch ausführen lassen!



PS.: Ist mir gerade eingefallen: Die totalen Pfade auf den entfernten Rechnern Eures Webspace Anbieters bekommt Ihr raus, wenn ihr eine phpinfo.php ins Wurzelverzeichnis Eurer Seite(n) ladet und diese dann aufruft!
Diese PHPinfo.php gibts überall im Netz zu finden oder ihr erstellt sie Euch selbst:

Code:
<?php

phpinfo();

?>
 
Zuletzt bearbeitet:

alfonso

Benutzer
Mitglied seit
17. Dez 2008
Beiträge
89
Punkte für Reaktionen
0
Punkte
0
Sprichst Du bei "SQL Datenbank" von der auf Deiner Synology oder von der draußen beim Provider/Webspace-Anbieter?
Und was meinst Du mit "Dateien" für die monatliche Sicherung???? Die php-html-Dateien des Forums/der Webseite?

Es soll ein SQL DB-Backup von meinem Provider/Webspace-Anbieter erstellt werden und anschließend auf meiner DS kopiert/verschoben werden.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.159
Punkte für Reaktionen
1.118
Punkte
314
Shit... Ich wollt da grad mal was ausprobieren mit dem MSD und musste mit erschrecken feststellen, das das Teil garnicht mehr läuft bei mir. Aber das nur nebenbei...

Eigentlich müsstest du mit dem mySQLDumper nur eine FTP Verbindung zu deiner DS aufbauen damit das Dump-File dort abgelegt werden kann. Dafür muß deine DS natürlich im Internet erreichbar sein (DDNS) und die entsprechenden Ports müssten freigegeben sein. Genau das wollte ich grad mal ausprobieren... aber da hat wohl Murphy's Gesetz auf meinem Webserver zugeschlagen. Das muß ich natürlich erstmal reparieren. Mal schauen wie schnell ich das wieder hinbekomme. Derweilen kannst du dich ja mal im MSD Forum oder auch hier umschauen, wie das mit FTP geht.

Tommes
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.159
Punkte für Reaktionen
1.118
Punkte
314
So, MySQLDumper ist nun installiert und läuft auf meinem Web. Wie stelle ich das nun so ein das MSD die Datenbank auf mein ds ablegt?
attachment.html

OK, mySQLDumper läuft wieder auf meinem Webspace. Habe grade einen Test durchgeführt, wobei ich im MSD unter FTP-Connection1 die Zugangsdaten meiner per DDNS erreichbaren DS eingegeben habe. Natürlich noch im Router den Port 21 freigeschaltet und auf meiner DS den FTP-Server eingerichtet. Backup gestartet... und schwupps war das Dump-File auf meiner DS! Klappt also wunderbar. Das war bei mir aber auch nur ein Test, da ich den FTP-Server i.d.R. nicht aktiviert habe, da bei mir alles über VPN läuft! Von daher ist das für micht so nicht alltagstauglich.

Aber dafür habe ich ja mein Script, wo ich u.a. das Dump-File per wget auf meine DS lade. Dafür muß man sich jedoch ein wenig mit der Konsole auskennen.

Es könnte aber auch sein, das man das Dump-File mit der DownloadStation vom Server abholen kann. Das habe ich, soweit ich mich erinnern kann, auch mal getestet... warum ich das wieder verworfen hatte, weis ich aber nicht mehr.

So, ich hoffe ich konnte dir ein paar Tipps und Anregungen geben. Ich werde am WE derweilen mal das Script von TheGardner austesten.

Tommes
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat